У меня имеется 2 жестких диска: 1 на 40Gb выделен под две системы - Ubuntu и Windows, 2 на 80Gb под данные для двух систем.
Существовали две системы(Windows XP и Ubuntu 9.10) нормально пока я не решил обновить Ubuntu до версии 10.04... При обновлении новый загрузчик Grub спросил меня какой раздел загрузочный и куда ему установиться и соответственно предложил при незнании этого устанавливать его на все разделы, что я и сделал. После обновления Grub видел только последнее ядро линукса(винду уже не видел), но и линукс не работал так как хотелось бы - монитор при загрузке переключался в режим нерабочих частот. Я решил не запариваться и переставить Ubuntu заново, тем более я давно уже собирался это сделать. При установке Ubuntu 9.10(есть только этот диск) я решил разбить файловую систему по-новому, не трогая виндовые разделы.
Соответственно новая иерархия была таковой:
sda(40Gb):
- sda1 21Gb NTFS - Установлена Windows(диск C:)
- sda2 17Gb Ext4 - Установлена Ubuntu(точка монтирования / )
- sda3 1Gb swap - Соответственно область подкачки
- sda4 100mb Ext3 - Загрузочный раздел(точка монтирования /boot)
- sdb1 40Gb Ext4 - Раздел для данных(точка монтирования /home)
- sdb2 40Gb NTFS - Раздел для данных Windows(диск D:)
Взяв загрузочный диск Windows XP, я стал восстанавливать эти косяки, однако это привело к еще большим косякам - накрылся sda4(слетела файловая система). Недолго думая я его форматнул обратно в Ext3. Теперь у меня не грузилось вообще ничего кроме LiveCD с убунтой 9.10...
Теперь приступим к действиям по восстановлению двух систем!
- Для начала я загрузился с LiveCD Ubuntu 9.10 и через GParted(Система-Параметры-GParted) установил флаг boot(правый клик по разделу-manage flags) на sda1
- Загрузился с загрузочного диска Windows XP и зашел в консоль восстановления. Через нее восстановил загрузчик Windows на раздел sda1(диск C:), последовательно набрав команды bootfix и mbrfix(не знаю насколько важна последовательность команд, я сделал вроде в таком порядке и все заработало в итоге). После данных действий и перезагрузки у меня стала загружаться винда.
- Далее я опять загрузился с LiveCD и начал восстанавливать удаленные Grub и ядро линукса.
- монтируем раздел с установленной убунтой: sudo mount /dev/sda2 /mnt
- монтируем загрузочный раздел: sudo mount /dev/sda4 /mnt/boot (возможно сначала придется создать директорию /boot командой sudo mkdir /mnt/boot)
- монтируем диски: sudo mount --bind /dev/ /mnt/dev
- монтируем proc: sudo mount --bind /proc/ /mnt/proc
- теперь зайдем в примонтированную систему как root: sudo chroot /mnt
- переустанавливаем GRUB2: grub-install /dev/sda (если выдало какую-то ошибку, то попробуйте команду grub-install --recheck /dev/sda)
- переустанавливаем ядро: aptitude reinstall linux-image-2.6.32-21-generic (у вас может быть другая версия ядра - ищите командой aptitude search generic и пробуйте)
обновляем grub: update-grub (тут по идее должно все найтись - и винда и переустановленное ядро линукса)
- выходим из chroot: exit
- отмонтируем разделы:
- sudo umount /mnt/proc
- sudo umount /mnt/dev
- sudo umount /mnt/boot
- sudo umount /mnt
- Тут я перезагрузил комп и увидел меню Grub со списком всех установленных у меня систем. Все они загружались и загружаются до сих пор :)