Преобразовать логический раздел в первичный. Linux
Раньше, у девушки на нетбуке стояла Windows XP и в следствии моей криворукости, винда встала с флешки косовато.
И изменил пункт меню Windows XP в grub.cfg:
Загружаемся с флешки. Отмонтируем все разделы диска, если они были примонтированы по какой-либо причине. Получаем текущую таблицу разделов следующей командой:
Копируем этот файл и изменяем так, как вздумается. В моем случае, я перенес логический раздел sda5 на место sda1 и он стал первичным. Сохраняем изменения в файл ~/new_part_table. Теперь мы можем записать тщательно проверенную таблицу разделов в MBR следующей командой:
ЕСЛИ ЧТО-ТО ПОШЛО НЕ ТАК:
Если вы потеряли доступ к разделам:
1. Загружайтесь с флешки.
2. Восстанавливайте старую таблицу разделов командой:
boot.ini, ntldr и прочие файлы, относящиеся к загрузке поместились на диск C, а папка WINDOWS оказалась на диске E. Винда нормально работала в таком виде, пока я не поставил на компьютер убунту. На компьютере больше не планировалось запускать винду, но 30 GiB мне было не жалко и я оставил раздел с папкой WINDOWS на винчестере.
Через пару месяцев, девушке захотелось поиграть в The Sims 2. Установка игры на Ubuntu мне показалась плохим стилем, и я вспомнил о разделе с виндой.
Я кинул на раздел с виндой файлы ntldr, boot.ini, Bootfonts.bin, ntdetect.com. Затем,
sudo update-grubВ меню появилась винда. Но, при попытке загрузить ее, я получил черный экран с моргающим курсором. По симптомам я наткнулся на такую заметку: ссылка. Из чего следовало, что GRUB2 не дружит с ntldr. Странно, конечно, но уточнять я не стал. Я скачал grub4dos, бросил GRUB.exe и melu.lst в корень раздела с виндой.
И изменил пункт меню Windows XP в grub.cfg:
set root=(hd0,5)Теперь при выборе Windows XP загружался grub4dos, который позволил подцепить ntldr. Однако, загрузки винды не произошло. Вместо этого, без каких либо уведомлений ntldr перезагружал компьютер. Нажав при загрузке ntldr F8 я получил меню с кракозябрами, из чего следовало, что ntldr не видит раздел. Раздел с виндой логический, а ntldr не умеет работать с логическими разделами, что в принципе, логично (Это сложнее, чем работать только с первичными разделами). Встала задача преобразовать раздел с виндой в первичный раздел. Сделать это можно либо при помощи загрузочного диска Acronis, либо при помощи sfdisk (ссылка). После недавней установки убунты у меня осталась загрузочная флешка, потому выбор был очевиден.
linux16 (hd0,5)/grub.exe
Загружаемся с флешки. Отмонтируем все разделы диска, если они были примонтированы по какой-либо причине. Получаем текущую таблицу разделов следующей командой:
sudo sfdisk -d /dev/sdaСохраняем в файл ~/old_part_table и кидаем на флешку, на случай, если что-то не получится и вы потеряете доступ к разделам. Это, конечно, не смертельно, но неприятно.
Копируем этот файл и изменяем так, как вздумается. В моем случае, я перенес логический раздел sda5 на место sda1 и он стал первичным. Сохраняем изменения в файл ~/new_part_table. Теперь мы можем записать тщательно проверенную таблицу разделов в MBR следующей командой:
sudo sfdisk --force /dev/sda < ~/new_part_tableЕсли все прошло хорошо, то fdisk покажет вам разделы в соответствии с новой таблицей разделов. И вы можете перезагружаться. Подробнее тут.
ЕСЛИ ЧТО-ТО ПОШЛО НЕ ТАК:
Если вы потеряли доступ к разделам:
1. Загружайтесь с флешки.
2. Восстанавливайте старую таблицу разделов командой:
sudo sfdisk --force /dev/sda < ~/old_part_table
Комментарии
Отправить комментарий