fdisk не завершается и виснет на USB-накопителе

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

Проблема с fdisk.

ОС: linux centos 7

Я использовал fdisk на флеш-накопителе. Он завис, и я не смог его завершить или выйти из него.

Дополнительная проблема заключается в том, что после этого, пытаясь исправить эту проблему, я физически удалил другие флеш-накопители, которые отображались в /dev/. Однако они все еще показываются в /dev/, хотя уже не подключены физически.

Вот lsblk (я удалил из этого списка другие устройства, которые указаны) lsblk

NAME                    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdf                       8:80   0   1.8T  0 disk 
└─sdf1                    8:81   0   1.8T  0 part 
sr0                      11:0    1  1024M  0 rom  

Я сделал следующие выборы, следуя записям, которые я сделал, когда друг форматировал другой флеш-накопитель для меня (той же модели флеш-накопителя). Намерение состоит в том, чтобы отформатировать его в ext4.

Ниже приведен набор выборов (выделен жирным):

[root@linux18 ~]# fdisk /dev/sdf
Добро пожаловать в fdisk (util-linux 2.23.2).

Изменения сохранятся в памяти только до тех пор, пока вы не решите записать их.
Будьте осторожны перед использованием команды записи.
Команда (m для справки): **m**
Действие команды
   a   переключить флаг загрузки
   b   редактировать метку диска bsd
   c   переключить флаг совместимости dos
   d   удалить раздел
   g   создать новую пустую таблицу разделов GPT
   G   создать таблицу разделов IRIX (SGI)
   l   перечислить известные типы разделов
   m   распечатать это меню
   n   добавить новый раздел
   o   создать новую пустую таблицу разделов DOS
   p   распечатать таблицу разделов
   q   выйти без сохранения изменений
   s   создать новую пустую метку диска Sun
   t   изменить системный идентификатор раздела
   u   изменить единицы отображения/ввода
   v   проверить таблицу разделов
   w   записать таблицу на диск и выйти
   x   дополнительная функциональность (только для экспертов)

Команда (m для справки): **d**
Выбранный раздел 1
Раздел 1 удален

Команда (m для справки): **n**
Тип раздела:
   p   основной (0 основной, 0 расширенный, 4 свободно)
   e   расширенный
Выберите (по умолчанию p): p
Номер раздела (1-4, по умолчанию 1): 
Первый сектор (2048-3906963455, по умолчанию 2048): 
Используется значение по умолчанию 2048
Последний сектор, +сектора или +размер{K,M,G} (2048-3906963455, по умолчанию 3906963455): 
Используется значение по умолчанию 3906963455
Раздел 1 типа Linux и размером 1.8 TiB установлен

Команда (m для справки): **t**
Выбранный раздел 1
Шестнадцатеричный код (введите L для перечисления всех кодов): 83
Тип раздела 'Linux' изменен на 'Linux'

Команда (m для справки): **w**
Таблица разделов была изменена!

Здесь я попробовал и Control C, и Control Z:

^[[B^[[B^[[B

^[[6~

^C^[[5~

Это похоже на проблему, с которой вы столкнулись: https://access.redhat.com/solutions/369623

Попробуйте # dmsetup remove с некоторыми флагами из руководства (--force --deferred --retry)

Мне нужно было принудительно перезапустить сканирование дисков, подключенных к системе, как объясняется здесь, например:

echo "- - -" >> /sys/class/scsi_host/host_0/scan

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

Когда вы сталкиваетесь с проблемой, когда утилита fdisk не завершает свою работу и "виснет" на USB-накопителе, это может вызвать множество сложностей при дальнейшем использовании устройства. В данном ответе мы рассмотрим возможные причины данной ситуации и предоставим рекомендации по её устранению для вашей системы CentOS 7.

Возможные причины проблемы:

  1. Системные блокировки или зависания: fdisk может зависнуть из-за проблем с самим USB-накопителем, таких как недостаток питания, повреждение устройства или конфликты в системе.

  2. Некорректное завершение работы fdisk: Если вы попытались принудительно прервать fdisk с помощью Ctrl+C или Ctrl+Z, это могло оставить некоторые ресурсы заблокированными.

  3. Проблема с устройством: Устройство могло быть неправильно отформатировано или повреждено, что вызывает сложности при его определении системой.

Рекомендации по решению проблемы:

  1. Проверка состояния устройства:

    • Подключите USB-накопитель к другому компьютеру. Убедитесь, что он корректно определяется и доступен для работы.
    • Если устройство не определяется на другом компьютере, возможно, оно повреждено.
  2. Перезагрузка системы:

    • Иногда самый простой способ решить проблему – это перезагрузить систему. Это может освободить зафиксированные блокировки и освежать определения устройств.
  3. Принудительное удаление зависших процессов:

    • Используйте команду ps aux | grep fdisk для нахождения процесса fdisk и его PID.
    • Убедитесь, что данный процесс действительно завис, затем завершите его с помощью команды kill -9 <PID>.
  4. Обновление таблицы устройств:

    • Если после отключения USB-накопителей они все еще отображаются в /dev/, выполните команду:
      echo "- - -" > /sys/class/scsi_host/host0/scan
    • Это инициирует повторное сканирование дисков, и система может обновить список доступных устройств.
  5. Использование dmsetup:

    • Если проблема продолжается и имеются зафиксированные устройства, попробуйте применить команду dmsetup с соответствующими флагами:
      dmsetup remove --force --deferred <deviceName>
    • Замените <deviceName> на имя зависшего устройства. Это может помочь избавиться от проблемных записей.
  6. Форматирование устройства:

    • После перезагрузки и очистки выполните fdisk заново на USB-накопителе, чтобы создать новую таблицу разделов:
      fdisk /dev/sdf
    • Следуйте инструкциям для создания нового раздела и форматирования его в ext4:
      mkfs.ext4 /dev/sdf1

Заключение

Использование fdisk может быть рискованным занятием, и если возникают неполадки, важно принимать меры для минимизации дальнейших повреждений. Всегда проверяйте состояние устройств и будьте внимательны при их подключении или отключении. Если описанные выше шаги не помогли, возможно, стоит обратиться в техническую поддержку или к специалистам по восстановлению данных.

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

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