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.