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

Проблема
Местонахождение ядер Linux и корневых устройств вам неизвестно, но эта ин формация необходима для загрузки системы.
Решение
Воспользуйтесь средствами GRUB для поиска корневых устройств и образов ядер.
Загрузите командную консоль GRUB нажатием клавиши «с» во время запус ка GRUB.
Чтобы найти корневое устройство (раздел, содержащий /boot), введите строку
root (hdO и нажимайте клавишу Tab до тех пор, пока на экране не появится инфор мация о разделах:
grub> root (hdO,<tab>
Possible partitions are:
Partition num: 0. Filesystem type is ext2fs. partition type 0x83
Partition num: 1, Filesystem type is ext2fs. partition type 0x83
Если вы не уверены в том, какой именно раздел вам нужен, опробуйте их по очередно, это не повредит. Начните с (hdO,O):
grub> root (hdO.O)
Filesystem type is ext2fs, partition type 0x83
Затем попробуйте найти образ ядра. Введите /boot/vmtinuz и нажмите клави шу Tab. Если найти образ/boot/linuz не удалось, GRUB сообщит вам об этом:
grub> kernel /boot/vmlinuz<tab>
Error 15: File not found
В этом случае назначьте корневым устройством другой раздел и проведите по иск образа ядра на нем:
grub> root (hdO.l)
Filesystem type is ext2fs, partition type 0x83
grut» 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, поэтому hdO,l=/
dev/hda2.
Следующие два используются только в системах, при загрузке которых исполь зуется ramdisk. Сначала найдите initrd:
55 f?"d ШЩЖЩя^
Загрузите образ initrd:
grub> initrd /boot/imtrd-2.4.22-l.img
Теперь можно переходить к загрузке:
grub> boot
Система запускается стандартным образом.
Комментарий
Если вы не уверены в том, что в системе использовались стандартные схемы вы бора имен ядра, запросите у GRUB все содержимое /boot. Введите строку kernel/
boot и нажмите клавишу Tab:
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
Похоже, мы обнаружили ядро 2.6 со странным именем kemel-of-truth-2.6.3. Не смотря на глупое имя, оно может работать точно так же, как его родственники
с более вменяемыми именами.
Автоматическое расширение имен клавишей Tab позволяет легко проводить
поиск в целых файловых системах. Эта возможность особенно полезна для иссле дования незнакомых систем, потому что вы можете начать с корня:
grub> root (hdO,6)
grub> find/<tab>
Possible f i l e s are bin dev etc l ib mnt opt titip sys var usr boot home proc
sbin root cdrom floppy initrd
Однако это открывает большую брешь в системе безопасности, так как любой
пользователь, имеющий доступ к консоли GRUB, сможет прочитать любой файл
в системе командой cat:
grub> cat /root/secretpersonalstuff.txt
grub> cat /etc/shadow
В разделе 12.14 рассказано, как закрыть эту брешь посредством парольной за щиты GRUB.
Команда GRUB находит корневые устройства и ядра независимо от того, где они
находятся. Допустим, в системе установлены два жестких диска IDE. На втором
диске корневая файловая система Linux установлена в каталоге/dev/hdb5. Загрузка
производится следующим образом:
grub> root (hdl.4)
grub> kernel /boot/vmlinuz-2.4.21 ro root=/dev/hdb5
grub> boot
В незнакомой системе можно поручить GRUB поиск всех установленных же стких дисков:
grub> root (hd <tab>
Possible disks are: hdO hdl
См. также
The Grub Manual (http://www.gnu.org/software/manuaL/grub.html); info grub.