Я установил Ubuntu 10.10 в своей системе. Тем не менее, мне нужно установить Windows 7 обратно, и я ожидаю, что это изменит GRUB, и это было сделано.
Прямо сейчас мой раздел на программном RAID 0 выглядит следующим образом:
nvidia_acajefec1 - это Ubuntu 10.10, а nvidia_acajefec3 - это Windows 7 . [+1112]
Я следовал некоторым руководствам и всегда застрял в GRUB, не в состоянии обнаружить обычный контент RAID.
Я попытался запустить:
sudo grub
> root (hd0,0)
GRUB жалуется, что не может найти мой жесткий диск. Поэтому я попытался:
find (hd0,0)
И жалуется, что ничего не смог найти.
Итак, я попытался:
find /boot/grub/stage1
Там сказано «файл не найден».
Вот текст из консоли:
ubuntu@ubuntu:~$ grub
Probing devices to guess BIOS drives. This may take a long time.
[ Minimal BASH-like line editing is supported. For
the first word, TAB lists possible command
completions. Anywhere else TAB lists the possible
completions of a device/filename. ]
grub> root (hd0,0)
root (hd0,0)
Error 21: Selected disk does not exist
grub> find /boot/grub/stage1
find /boot/grub/stage1
Error 15: File not found
** К счастью, один человек предположил, что я пытался сделать это для GRUB Legacy, а не GRUB2. Поэтому я пошел на предложенный веб-сайт ( http://grub.enbug.org/Grub2LiveCdInstallGuide ) и попытался осмотреться и попытаться:
ubuntu@ubuntu:~$ sudo fdisk -l
Unable to seek on /dev/sda
Это всего лишь шаг 2 инструкции в http://grub.enbug.org/Grub2LiveCdInstallGuide , и я не могу продолжить, потому что она не может искать /dev/sda.
Однако,
ubuntu@ubuntu:~$ sudo dmraid -r
/dev/sdb: nvidia, "nvidia_acajefec", stripe, ok, 488397166 sectors, data@ 0
/dev/sda: nvidia, "nvidia_acajefec", stripe, ok, 488397166 sectors, data@ 0
Так что теперь? У вас есть идея, как заставить fdisk видеть мой RAID-массив на live cd (Ubuntu 10.10)? Честно говоря, я потерян, очень растерялся, пытаясь восстановить GRUB2 на этой программной системе RAID 0.
Если вы загружаетесь с компакт-диска восстановления, ваши корневые устройства - это не /, но представление ISO в ОЗУ. В этом случае мы должны сначала смонтировать корневой раздел real .
Проверьте, активен ли программный RAID:
$ cat / proc / partitions
blockquote>Вы должны ожидать, что
sda
,sdb
, [ 112], затемdm-1
,dm-2
и т. Д., Представляющих записи таблицы разделов.Если вы не видите записи
dm-*
, вам необходимо активировать программный RAID вручную:$ sudo dmraid-activ
blockquote>Проверить
/proc/partitions
еще раз и убедитесь, чтоgrub
знает об этом:$ sudo grub-mkdevicemap -m -
blockquote>Вывод может отличаться, но должен выглядеть (где * ata-WDC_WD5001AALS-00L3B2_WD-WCASY5902194 * зависит от конфигурации вашего оборудования):
(hd0) / dev / disk / by-id / ata-WDC_WD5001AALS-00L3B2_WD-WCASY5901111 (11)
blockquote>
1111 hd1) / dev / disk / by-id / ata-WDC_WD5001AALS-00L3B2_WD-WCASY5867648
(hd2) / dev / mapper / nvidia_acajefecваш реальный ] корневой раздел должен быть
/dev/mapper/nvidia_acajefec1
прямо сейчас. Мы смонтируем этот раздел для будущих тестов сейчас:$ sudo mount / dev / mapper / nvidia_acajefec1 / mnt
blockquote>
$ sudo mount --bind / dev / mnt / dev
$ sudo mount --bind / proc / mnt / proc
$ sudo mount --bind / sys / mnt / sysПроверить, может ли
grub
чтобы сопоставить устройства с вашими разделами:$ sudo grub-mkdevicemap -m - | sudo grub-probe --device-map = / proc / self / fd / 0 --target = device / mnt
blockquote>Вы должны увидеть что-то вроде
/dev/mapper/nvidia_acajefec1
.Определите имя вашего раздела как устройство GRUB:
$ sudo grub-mkdevicemap -m - | sudo grub-probe --device-map = / proc / self / fd / 0 --target = drive / mnt
blockquote>Вывод должен быть что-то вроде
1149 Пока все хорошо. Чтобы установить / обновить GRUB, мы готовы переключиться на корневой раздел real и обновить загрузочный блок:(hd2,msdos1)
.
$ sudo chroot / mnt / bin / bash
blockquote>
$ sudo update-grub
Генерация grub.cfg ...
Найденное фоновое изображение: /usr/share/images/desktop-base/desktop-grub.png
Найденное изображение linux: /boot/vmlinuz-2.6.32-5-686-bigmem
Найденный образ initrd: /boot/initrd.img-2.6.32-5-686-bigmemdm-0
Найденный Linux в / dev / mapper / nvidia_acajefec1
Найденный Windows в / dev / mapper / nvidia_acajefec3
сделано
$ sudo grub-install / dev / mapper / nvidia_acajefec
Установка завершена. Об ошибках не сообщается.
$ exitВы готовы перезагрузить систему.
Устройство, которое необходимо установить, - /dev/nvidia_acajefec1
, а устройство, на которое необходимо установить, - /dev/nvidia_acajefec
. Итак, примерно следуя указаниям на http://grub.enbug.org/Grub2LiveCdInstallGuide , вы запустите:
sudo mount /dev/nvidia_acajefec1 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
grub-mkconfig -o /boot/grub/grub.cfg
grub-install /dev/nvidia_acajefec # Note that there is *not* a '1' at the end