12.7. Определение параметров загрузки в командной консоли GRUB

Проблема

Местонахождение ядер Linux и корневых устройств вам неизвестно, но эта информация необходима для загрузки системы.

Решение

Воспользуйтесь средствами GRUB для поиска корневых устройств и образов ядер. Загрузите командную консоль GRUB нажатием клавиши «с» во время запуска GRUB. Чтобы найти корневое устройство (раздел, содержащий /boot), введите строку root (hd0 и нажимайте клавишу Tab до тех пор, пока на экране не появится информация о разделах:

grub> root (hd0,<tab>
Possible partitions are:
Partition num: 0. Filesystem type is ext2fs. partition type 0x83
Partition num: 1, Filesystem type is ext2fs. partition type 0x83

Если вы не уверены в том, какой именно раздел вам нужен, попробуйте их поочередно, это не повредит. Начните с (hd0,0):

grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83

Затем попробуйте найти образ ядра. Введите /boot/vmlinuz и нажмите клавишу Tab. Если найти образ не удалось, GRUB сообщит об этом:

grub> kernel /boot/vmlinuz<tab>
Error 15: File not found

В этом случае назначьте корневым устройством другой раздел и повторите поиск:

grub> root (hd0,1)
Filesystem type is ext2fs, partition type 0x83
grub> kernel /boot/vmlinuz<tab>
possible files are: vmlinuz vmlinuz-2.4.21

Ядро найдено. Введите путь к ядру и корневой файловой системе:

grub> kernel /boot/vmlinuz-2.4.21 ro root=/dev/hda2

Помните, что нумерация разделов в GRUB начинается с 0, поэтому hd0,1 соответствует /dev/hda2.

Для систем, использующих ramdisk, найдите initrd и загрузите его:

grub> initrd /boot/initrd-2.4.22-1.img

Теперь можно переходить к загрузке:

grub> boot

Система запускается стандартным образом.

Комментарий

Если вы не уверены в том, какие имена ядер использовались, запросите у GRUB всё содержимое каталога /boot:

grub> kernel /boot/<tab>
System.map System.map-2.4.21 System.map-2.6.3 boot grub config-2.4.21 config-2.6.3
splash.xpm.gz vmlinuz vmlinuz-2.4.21 kernel-of-truth-2.6.3

В примере мы обнаружили ядро с необычным именем kernel-of-truth-2.6.3. Несмотря на странное название, это ядро может работать как обычное. Автоматическое дополнение имен с помощью клавиши Tab облегчает исследование незнакомых систем. Например, вы можете начать с корня:

grub> root (hd0,6)
grub> find /<tab>
Possible files are: bin dev etc lib mnt opt tmp sys var usr boot home proc sbin root
cdrom floppy initrd

Однако это открывает потенциальную брешь в безопасности, так как любой пользователь с доступом к консоли GRUB сможет просматривать файлы, используя команду cat. Например:

grub> cat /root/secretpersonalstuff.txt
grub> cat /etc/shadow

См. также

The Grub Manual (http://www.gnu.org/software/manuaL/grub.html); info grub.