Назад | Перейти на главную страницу

Безопасное удаление расширенного раздела без перезагрузки

В linux, если удаляется расширенный раздел (MSDOS) и есть расширенные разделы в использовании с более высокими номерами, чем у удаленного, ядру не удается повторно сканировать разделы с помощью partprobe. Это происходит, я полагаю, потому что количество разделов, следующих за удаленным, уменьшится на 1

Есть ли способ обойти это (без размонтирования других разделов)?

К сожалению, ядро ​​Linux даже не так умно. Даже если вы удалите самый последний раздел, Linux не будет перезагружать таблицу разделов, если на этом устройстве есть какой-либо, даже полностью не затронутый, раздел. Невозможно перезагрузить таблицу разделов, если какие-либо разделы уже используются. Обычно это означает перезагрузку, если это диск с корневой файловой системой.


А вот и некрасивая (и ОПАСНО!) хак, который иногда может помочь ...

Я не уверен, поможет ли это вам, но недавно я нашел обходной путь, позволяющий мне получить доступ к только что созданному / измененному разделу, даже если Linux отказался перезагрузить таблицу разделов:

# losetup --find --partscan --show /dev/sda
/dev/loop0
losetup: /dev/sda: warning: file smaller than 512 bytes, the loop device maybe be useless or invisible for system tools.

(предупреждение можно проигнорировать)

Это сделает весь раздел, определенный в настоящее время на /dev/sda так как: /dev/loop0p1, /dev/loop0p2, и т.д. БЫТЬ ОСТОРОЖЕН! Таким образом очень легко уничтожить ваши данные, поскольку Linux даже не заметит, если вы попытаетесь что-либо сделать (смонтировать, создать файловую систему и т.д.) с используемым разделом.