Как я могу заставить Grub распознавать мой старый раздел Linux

1425
Robbie

Проблема: у
меня есть два раздела. На одном я установил Fedora 9, а на другом своем разделе я только что установил Fedora 12. Теперь, когда я установил Fedora 12, я не могу заставить Grub загрузить старый раздел. Как я могу настроить Grub для загрузки моего старого раздела fedora?

Некоторые заметки:

  • Моя Fedora 9 выглядит как Linux LVM, а не просто Linux в fdisk. У меня была установлена ​​виртуальная коробка в Linux, но это не виртуальная машина.
  • Я уверен, что Fedora 12 устанавливает grub вместо grub2
  • Я могу увидеть и смонтировать оба раздела с живого компакт-диска Fedora 12, если это поможет
  • Моя коробка 64 битная.

Информация:
это то, что я получаю от fdisk -l:

Disk /dev/sda: 750.2 GB, 750156374016 bytes 255 heads, 63 sectors/track, 91201 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x0005745c  Device Boot Start End Blocks Id System /dev/sda1 * 1 64685 519578624 83 Linux /dev/sda2 65706 65730 200812+ 83 Linux /dev/sda3 65731 91201 204595807+ 8e Linux LVM /dev/sda4 64686 65705 8193150 5 Extended /dev/sda5 64686 65705 8192000 82 Linux swap / Solaris 

И это то, что сейчас есть у меня menu.lst:

# grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You do not have a /boot partition. This means that # all kernel and initrd paths are relative to /, eg. # root (hd0,0) # kernel /boot/vmlinuz-version ro root=/dev/sda1 # initrd /boot/initrd-[generic-]version.img #boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu  title Fedora (2.6.31.12-174.2.3.fc12.x86_64) root (hd0,0) kernel /boot/vmlinuz-2.6.31.12-174.2.3.fc12.x86_64 ro root=UUID=876dd1b5-104a-46de-b5fb-08f96d2ce420 LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet mem=8192M initrd /boot/initramfs-2.6.31.12-174.2.3.fc12.x86_64.img title Fedora 9 rootnoverify (hd0,3) chainloader +1 

Первая Fedora в этом списке - Fedora 12, которая загружается правильно, вторая - просто предположение, где была моя установка Fedora 9. Когда я выбираю это в Grub при загрузке, он переходит на пустой экран с мигающим курсором, который не реагирует на клавиатуру.

Обновление:
я смог смонтировать свою старую систему FC9 и в разделе / ​​boot я нашел это в menu.lst, если это поможет:

title Fedora (2.6.27.25-78.2.56.fc9.x86_64) root (hd0,1) kernel /vmlinuz-2.6.27.25-78.2.56.fc9.x86_64 ro root=/dev/VolGroup00/LogVol00 rhgb quiet initrd /initrd-2.6.27.25-78.2.56.fc9.x86_64.img 

Вопрос:
Что мне нужно сделать, чтобы загрузить мою старую Fedora?

4
да! похоже, что ваш FC9 использовал * / dev / sda2 *, так как это не-LVM * / boot * раздел. хорошая работа, как с разработкой этого вопроса, так и с нами, чтобы найти ваше решение. quack quixote 14 лет назад 0
вы, вероятно, хотите изменить perttion на `partition` phunehehe 14 лет назад 0
@phunehehe: исправлено! quack quixote 14 лет назад 0

2 ответа на вопрос

5
quack quixote

LVM - это не «Виртуальная машина Linux», это « Менеджер логических томов ». Если я правильно понимаю LVM, для загрузки корневого раздела в LVM вам нужен отдельный раздел / boot вне LVM (это был маленький раздел в / dev / sda2 ?). Ваша система может все еще иметь это, но если ваша установка FC12 изменила это, восстановление будет намного более трудным.

Вот несколько ссылок на проблемы Grub vs LVM: ссылка 1, ссылка 2

Также см. «Монтирование тома Linux LVM» - вы должны быть в состоянии проверить, что ваша старая система FC9 все еще в порядке, смонтировав и изучив ее корневой раздел при загрузке в FC12. Если это так, вы, вероятно, можете восстановить довольно легко, даже если вы перезаписали раздел FC9 / boot .

Вот пример загрузочной записи Grub для системы LVM ( источник ). В этом случае (hd0,0) (что означает / dev / sda1 ) - это небольшой раздел / boot, а остальная часть системы находится в LVM на / dev / sda2 . Обратите внимание на записи root = и lvm2root = в строке ядра :

title Debian GNU/Linux, kernel 2.6.26 Using LVM with SATA Disk root (hd0,0) kernel /vmlinuz-2.6.26 root=/dev/ram0 lvm2root=/dev/mapper/sda_vol-root initrd /initrd-lvm2-2.6.26.gz 

Postmortem: Этот пользователь оказался в лучшем случае. Установка FC12 не перезаписывала и не переформатировала раздел / boot FC9, / dev / sda2, и все, что требовалось, - это получить доступ к старому файлу /boot/grub/menu.lst FC9 и скопировать загрузочные записи в меню Grub FC12.

Я прошел шаги, чтобы смонтировать свою систему FC9, и она работала. Все выглядит на месте. Кроме того, когда я сделал это, в папке / boot / _boot появилась запись / boot. Там я вижу папку grub и все старые записи для grub в моей последней установке. Я обновил его в основном вопросе, чтобы он был более читабельным. Должен ли я просто вставить всю эту информацию для этой Fedora в мое новое меню Grub? Robbie 14 лет назад 0
@Robbie: отлично! может быть ваш FC9 * / boot * находится на LVM? Не знаю. в любом случае, вы можете просто скопировать ядра и образы initrd из FC9 * / boot * в FC12 * / boot * (убедитесь, что вы даете им уникальные имена; ничего не перезаписывать), а затем добавить загрузочные записи из меню Grub FC9 в FC12. и ты в порядке. убедитесь, что вы указали их справа * root (hdX, Y) *, чтобы найти образы ядра и initrd. quack quixote 14 лет назад 1
Да! Я скопировал все из информации этого menu.lst в новый grub, и теперь я говорю с вами из firefox на моей старой системе Fedora 9. Спасибо за помощь! Robbie 14 лет назад 0
0
Trevoke
title Fedora (2.6.31.12-174.2.3.fc12.x86_64) root (hd0,0) kernel /boot/vmlinuz-2.6.31.12-174.2.3.fc12.x86_64 ro root=UUID=876dd1b5-104a-46de-b5fb-08f96d2ce420 LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet mem=8192M initrd /boot/initramfs-2.6.31.12-174.2.3.fc12.x86_64.img title Fedora 9 root (hd0,0) kernel /boot/vmlinuz-2.6.31.12-174.2.3.fc12.x86_64 ro root=***** LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet mem=8192M initrd /boot/initramfs-2.6.31.12-174.2.3.fc12.x86_64.img 

Видите где я написал root = *****? Либо получите UUID для hd0,3, либо просто напишите root = / dev / hda3 или / dev / sda3. И .. Это должно быть хорошо, если это правильный раздел.

Не имеет ли значения, что оно будет использовать ядро, указанное для Fedora 12? И должен ли root оставаться (hd0,0) для записи Fedora 9? Robbie 14 лет назад 1
вероятно, не следует использовать ядро ​​FC12 для загрузки FC9. это может сработать, но многие вещи, вероятно, сломаются. quack quixote 14 лет назад 1
Я попробовал это и получил ошибку: `Не найдено корневое устройство [drm: drm_mode_rmfb] * Ошибка * Попытка удалить fb, который у нас не был, Не удалось загрузиться, спит вечно` Robbie 14 лет назад 0
Если я загружу RPM для ядра для 9 и установлю его, это вызовет проблемы в моей установке Fedora 12? http://rpm.pbone.net/index.php3/stat/4/idpl/13342106/com/kernel-2.6.27.25-78.2.56.fc9.x86_64.rpm.html Robbie 14 лет назад 0
* не * используйте RPM или yum, чтобы установить его во время загрузки в FC12. вам может понадобиться извлечь файлы вручную, хотя. quack quixote 14 лет назад 1
Похоже, шарлатан был правильным. Вам нужно найти ядро ​​и начальный виртуальный диск (initrd), который использует Fedora 9, и подставить их в ваш menu.lst Kevin M 14 лет назад 0

Похожие вопросы