Попередня відповідь - це трохи не те, що мені було
потрібно. Адже навіть якщо ядро вже завантажене
загрузчиком, йому всеодно треба передати параметр root,
який буде мінятися при переносі системи.
Але мені вдалося знайти одне досить просте рішення.
Я зробив загрузочний флопік на основі grub
На флопіку треба створити папку /boot/grub/
та записати туди файли stage1, stage2 та menu.lst
Після того виконати скріпт
grub --device-map=/boot/grub/device.map --batch <<EOF
install (fd0)/boot/grub/stage1 d (fd0) (fd0)/boot/grub/stage2 p (fd0)/boot/grub/menu.lst
quit
EOF
Потім stage1 можна стерти
В якості menu.lst я використав такий файл
timeout 30
default 0
# 0
title hda1
kernel (hd0,0)/boot/vmlinuz root=/dev/hda1
initrd (hd0,0)/boot/initrd.img
# 1
title hda2
kernel (hd0,1)/boot/vmlinuz root=/dev/hda2
initrd (hd0,1)/boot/initrd.img
# 2
title hda3
kernel (hd0,2)/boot/vmlinuz root=/dev/hda3
initrd (hd0,2)/boot/initrd.img
# 3
title hda4
kernel (hd0,3)/boot/vmlinuz root=/dev/hda4
initrd (hd0,3)/boot/initrd.img
# 4
title hda5
kernel (hd0,4)/boot/vmlinuz root=/dev/hda5
initrd (hd0,4)/boot/initrd.img
# 5
title hda6
kernel (hd0,5)/boot/vmlinuz root=/dev/hda6
initrd (hd0,5)/boot/initrd.img
# 6
title hda7
kernel (hd0,6)/boot/vmlinuz root=/dev/hda7
initrd (hd0,6)/boot/initrd.img
# 7
title hda8
kernel (hd0,7)/boot/vmlinuz root=/dev/hda8
initrd (hd0,7)/boot/initrd.img
# 8
title hda9
kernel (hd0,8)/boot/vmlinuz root=/dev/hda9
initrd (hd0,8)/boot/initrd.img
# 9
title hdb1
kernel (hd0,0)/boot/vmlinuz root=/dev/hdb1
initrd (hd0,0)/boot/initrd.img
# 10
title hdb2
kernel (hd0,1)/boot/vmlinuz root=/dev/hdb2
initrd (hd0,1)/boot/initrd.img
# 11
title hdb3
kernel (hd0,2)/boot/vmlinuz root=/dev/hdb3
initrd (hd0,2)/boot/initrd.img
# 12
title hdb4
kernel (hd0,3)/boot/vmlinuz root=/dev/hdb4
initrd (hd0,3)/boot/initrd.img
# 13
title hdb5
kernel (hd0,4)/boot/vmlinuz root=/dev/hdb5
initrd (hd0,4)/boot/initrd.img
# 14
title hdb6
kernel (hd0,5)/boot/vmlinuz root=/dev/hdb6
initrd (hd0,5)/boot/initrd.img
# 15
title hdb7
kernel (hd0,6)/boot/vmlinuz root=/dev/hdb7
initrd (hd0,6)/boot/initrd.img
# 16
title hdb8
kernel (hd0,7)/boot/vmlinuz root=/dev/hdb8
initrd (hd0,7)/boot/initrd.img
# 17
title hdb9
kernel (hd0,8)/boot/vmlinuz root=/dev/hdb9
initrd (hd0,8)/boot/initrd.img
# 18
title hdc1
kernel (hd0,0)/boot/vmlinuz root=/dev/hdc1
initrd (hd0,0)/boot/initrd.img
# 19
title hdc2
kernel (hd0,1)/boot/vmlinuz root=/dev/hdc2
initrd (hd0,1)/boot/initrd.img
# 20
title hdc3
kernel (hd0,2)/boot/vmlinuz root=/dev/hdc3
initrd (hd0,2)/boot/initrd.img
# 21
title hdc4
kernel (hd0,3)/boot/vmlinuz root=/dev/hdc4
initrd (hd0,3)/boot/initrd.img
# 22
title hdc5
kernel (hd0,4)/boot/vmlinuz root=/dev/hdc5
initrd (hd0,4)/boot/initrd.img
# 23
title hdc6
kernel (hd0,5)/boot/vmlinuz root=/dev/hdc6
initrd (hd0,5)/boot/initrd.img
# 24
title hdc7
kernel (hd0,6)/boot/vmlinuz root=/dev/hdc7
initrd (hd0,6)/boot/initrd.img
# 25
title hdc8
kernel (hd0,7)/boot/vmlinuz root=/dev/hdc8
initrd (hd0,7)/boot/initrd.img
# 26
title hdc9
kernel (hd0,8)/boot/vmlinuz root=/dev/hdc9
initrd (hd0,8)/boot/initrd.img
# 27
title hdd1
kernel (hd0,0)/boot/vmlinuz root=/dev/hdd1
initrd (hd0,0)/boot/initrd.img
# 28
title hdd2
kernel (hd0,1)/boot/vmlinuz root=/dev/hdd2
initrd (hd0,1)/boot/initrd.img
# 29
title hdd3
kernel (hd0,2)/boot/vmlinuz root=/dev/hdd3
initrd (hd0,2)/boot/initrd.img
# 30
title hdd4
kernel (hd0,3)/boot/vmlinuz root=/dev/hdd4
initrd (hd0,3)/boot/initrd.img
# 31
title hdd5
kernel (hd0,4)/boot/vmlinuz root=/dev/hdd5
initrd (hd0,4)/boot/initrd.img
# 32
title hdd6
kernel (hd0,5)/boot/vmlinuz root=/dev/hdd6
initrd (hd0,5)/boot/initrd.img
# 33
title hdd7
kernel (hd0,6)/boot/vmlinuz root=/dev/hdd7
initrd (hd0,6)/boot/initrd.img
# 34
title hdd8
kernel (hd0,7)/boot/vmlinuz root=/dev/hdd8
initrd (hd0,7)/boot/initrd.img
# 35
title hdd9
kernel (hd0,8)/boot/vmlinuz root=/dev/hdd9
initrd (hd0,8)/boot/initrd.img
Всюди вказано (hd0,x), тому, що Grub визанчає (очевидно)
індекс диску не по інтерфейсу підключення (Primary Master, P. Slave, etc ...), а по тому, який диск виставлений в BIOS як First Boot Device.
Для First Boot Device - (hd0,x)
Second Boot Device - (hd1,x)
(але це лише моє емпіричне твердження, якщо інакше - прошу виправити)
---------
Одже загрузившись з такого флопа можна загрузити Linux
з любого розділу