У мене жорсткий диск для ноутбука у зовнішньому корпусі, який я використовую як великий маятник. Для додаткового повороту я встановив на ньому Linux, тому я можу завантажувати будь-яку машину з моїм вибором (наприклад, для відновлення даних або ремонту системи b0rked або просто з використанням запозиченого ноутбука без руйнування попередньо встановленої Windows). Проблема полягає в тому, що, залежно від конфігурації обладнання, жорсткий диск USB може бути видимим під різними шляхами. Для конфігурації grub я просто використовую так, (hda0,0)
як це стосується пристрою, з якого було запущено grub. У мене є записи UUID /etc/fstab
. Я також вказую rootwait
в параметрах ядра, щоб він чекав, коли підсистема USB осяде, перш ніж спробувати встановити пристрій.
Що я повинен передати ядру root=
? В даний час завантажтеся з pendrive один раз, перевірте повідомлення про налагодження, щоб побачити, який /dev/sdX
пристрій призначено ядром USB на ядро, а потім перезавантажте та відредагуйте конфігурацію grub. Я не можу нічого змінити на ПК, окрім включення Boot from USB hard drive
в BIOS і встановлення його на більш високий пріоритет, ніж внутрішні жорсткі диски.
Існують різні сценарії, що генерують initrd, які включають підтримку UUID в шляху до кореневого пристрою, на жаль, нативний Gentoo (genkernel) не підтримує, rootwait
і мені не пощастило намагатися використовувати інші.
Процес завантаження йде так ( він досить схожий в Windows ):
- BIOS вибирає завантажувальний пристрій і завантажує будь-який його MBR (що трапляється на стадії grub-1).
- Grub завантажує конфігурацію та файли 2-го етапу з пристрою, який він встановив
root
, використовуючи(hd0)
для пристрою, з якого завантажений BIOS. - Grub завантажує і запускає ядро (все ще така ж нумерація, тому я можу
(hd0,0)
знову використовувати ). - Ядро ініціалізує всі вбудовані пристрої (
rootwait
чи це зараз магія). - Ядро монтує розділ, яким він був переданий як
root
(це параметр ядра, а не параметр grub). init.d
починається процес завантаження UserLand, включаючи монтаж речі з/etc/fstab
.
Частина 5 - це та, яка створює мені проблеми.