Я только что обновил свой Ubuntu Linux до Ubuntu 10.4, но мое меню grub не позволяет мне загружаться в раздел Windows.

Кажется, проблема в новом обновлении grubs - от использования редактируемого файла menu.lst до не редактируемого файла grub.cfg. Куда бы я ни посмотрел, везде написано "НЕ РЕДАКТИРОВАТЬ ФАЙЛ GRUB.CGF". Я в растерянности, что делать. Я понял, что новая конфигурация испортила загрузочный файл Windows. У любого есть какие-либо предложения о том, как это исправить. Я не уверен, что это проблема Windows или проблема с меню загрузки Grub. Любая помощь будет отличной. Спасибо

Крис Флинн

3 ответа3

0

Я могу только частично помочь здесь. Я не использую Ubuntu, но я запускаю Debian "Squeeze", который имеет тот же обновленный Grub. Новая система Grub создает свой файл конфигурации из ряда файлов, которые вы можете редактировать. В моей системе Debian они находятся в /etc/grub.d/. Вы должны заметить, что эти файлы имеют имена, которые соответствуют различным разделам заголовка в файле grub.cfg. Разделы заголовка начинаются со слова "#BEGIN" и сопровождаются путем к одному из файлов. Вы должны быть в состоянии найти файл, который имеет дело с загрузкой разделов Windows, и внести любые необходимые вам изменения. После этого вам нужно запустить команду grub-mkconfig, чтобы создать новый / обновленный файл grub.cfg.

Я не запускаю Windows, поэтому я не могу помочь с двойной загрузкой этой ОС. Извините, если это только половина ответа.

0

Перечислена ли ОС Windows в файле grub menu.lst? Есть ли время ожидания, с которым человек может работать в файле menu.lst? Изучите файл menu.lst в каталоге grub (не знаете, что это такое в Ubuntu: /boot/grub/menu.lst?)

Будьте спокойны, вряд ли программа установки / обновления Ubuntu испортила ваши другие разделы.

0

Grub в нормальных условиях не повредит перегородки. В худшем случае вам просто нужно переписать основной MBR. grub действует так же, как и bios, и ищет раздел, который вы просите загрузить, для поиска обычных загрузочных файлов. когда вы задаете для загрузчика цепочек +1 для Windows, он ищет указанный вами раздел для файлов, таких как ntldr, msdos.sys и т. д., которые являются загрузочными файлами Windows. когда вы просите его загрузить nix-систему, вы говорите, что ядро находится в /boot /... поэтому он загружает этот файл. Я установил Linux, BSD, Solaris ... тысячи раз на многих машинах. Я никогда не видел, чтобы это разрушало что-либо, и никогда не слышал об этом. Theres всегда случайность возможности, но гораздо более вероятно, что у вас будет отказ диска, который жадно ломает вещи.

В /etc/grub.d/ файлы ubuntu также помещаются. Я подозреваю, что личинка требует этого места.

/etc/grub.d# ls
00_header        10_linux      20_memtest86+  40_custom  README
05_debian_theme  20_linux_xen  30_os-prober   41_custom

Выше приведен список моих grub.d/ 40 и 41 для разделов Windows и т.д.

os prober обнаружил мой основной раздел win и добавил его в свой 40_custom. Это должно быть аналогично ниже, вам нужно будет использовать blkid, чтобы найти uuid вашего раздела win, чтобы исправить строку поиска и позволить вам правильно изменить строку установленного корня

menuentry "Microsoft Windows XP Professional (on /dev/sdb1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='(/dev/sdb,msdos1)'
    search --no-floppy --fs-uuid --set=root D8C0FF3EC0FF2204
    drivemap -s (hd0) ${root}
    chainloader +1

Выше это то, что он вставил в мой grub.cfg автоматически. Кроме того, к вашему сведению, если вам просто нужно получить отыгрыш, и вы позже доберетесь до linux, используя bartPE или другой диск с аналогами. Запустите утилиту восстановления mbr, чтобы вернуть ее в win mbr. Оттуда вы можете использовать загрузочный диск cd/usb, на котором есть grub, для загрузки с разделов linux. Обязательно скопируйте информацию в файле grub.cfg для этого раздела Linux. Таким образом, живые USB-накопители очень удобны. они часто поставляются с установленным grub, поэтому вы можете просто добавить в их grub.cfg строки, необходимые для создания опции меню "экстренной загрузки" для linux. просто убедитесь, что вы используете uuid для установки root и тому подобное.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .