почему fdisk не показывает жесткий диск (/dev/sdf), в то время как lsblk показывает жесткий диск (/dev/sdf)?

Вопрос или проблема

Я пытаюсь подключить дополнительный жесткий диск.

lsblk показывает /dev/sdf1..3. Однако sudo fdisk -l не показывает /dev/sdf1..3

В чем проблема?

Причина в том, что sudo fdisk -l -l, –list

Из справочной страницы:

Перечисляет таблицы разделов для указанных устройств и затем выходит. Если
устройства не указаны, используются те, что упоминаются в /proc/partitions (если этот файл
существует).

Это означает, что перечислены только те устройства, которые есть в выводе

less /proc/partitions

.

Ответ или решение

Почему fdisk не показывает жесткий диск (/dev/sdf), в то время как lsblk это делает?

Когда вы работаете с утилитами для манипулирования жесткими дисками в Linux, может возникнуть ситуация, когда одна утилита отображает ваши устройства, а другая нет. В данном случае вы столкнулись с проблемой, когда команда lsblk показывает наличие разделов на диске /dev/sdf, в то время как команда sudo fdisk -l не отображает этих разделов. Для понимания данной ситуации полезно рассмотреть дополнительные аспекты работы утилит и архитектуры Linux.

1. Специфика утилит fdisk и lsblk

Команда fdisk предназначена для работы с таблицами разделов на устройствах. При вызове sudo fdisk -l программа читает информацию о разделах сначала из /proc/partitions, который является виртуальным файлом, содержащим список доступных блочных устройств. Однако, стоит отметить, что fdisk работает напрямую с разделами, которые зарегистрированы в таблице разделов диска, а если у устройства нет корректно настроенной таблицы разделов, как, например, в случае с некоторыми USB-накопителями или дисками, которые еще не инициализированы, могут возникнуть проблемы.

С другой стороны, lsblk более универсален и представляет собой команду, которая отображает все блочные устройства, доступные в системе, включая те, которые могут не иметь разделов или таблиц разделов. Таким образом, команда lsblk просто показывает физические устройства, в то время как fdisk ожидает наличие таблицы разделов для отображения информации.

2. Проверка наличия таблицы разделов

Если fdisk не показывает ваши дисковые устройства, это может означать, что на разделе /dev/sdf отсутствует корректно установленная таблица разделов. Чтобы исправить это, вы можете воспользоваться следующими шагами:

  • Проверьте состояние устройства с помощью команды:

    sudo fdisk /dev/sdf

    Затем вы можете проверить наличие таблицы разделов. Если таблица разделов отсутствует, вы можете создать её с помощью команды m для получения справки о доступных командах и g для создания новой GPT-таблицы (или o для MBR).

  • Также стоит убедиться, что диск правильно инициализирован. Если вы видите его в lsblk, но не в fdisk, возможно, вам нужно создать таблицу разделов или разделы на нём.

3. Подведение итогов

Таким образом, различия в выходных данных команд lsblk и fdisk можно объяснить их различиями в функционале: fdisk требует готовую таблицу разделов для отображения информации, тогда как lsblk предоставляет более широкий и гибкий обзор устройств. Если диск /dev/sdf отображается в lsblk, но не в fdisk, рекомендуется проверить проблемы с инициализацией и созданием таблиц разделов.

Следуя данным рекомендациям, вы сможете успешно определить и устранить проблему, а также корректно подготовить ваш новый жесткий диск для использования.

Оцените материал
Добавить комментарий

Капча загружается...