Перенос системы на новый диск.

Системные и собственные файлы скопировались нормально, осталось установить загрузчик.

Выяснилось много интересного, в том числе, что initial ramdrive не поддерживает ext2.

Для /boot был выделен свой раздел и загрузчик был установлен в chroot прямо в MBR диска. Ошибок никаких.

В момент загрузки initrd сообщил, что корневая файловая система смонтирована удачно, но /sbin/init не найден. При том, что записи fstab и /boot/grub/menu.lst указывают на правильные разделы диска. Указывают по UUID. И запрошенный файл присутствует и цел.

Чёрт с ним, поместил ядро на раздел с корнем, сделал загружаемым его и исправил настройки GRUB. Снова установил, ошибок никаких, и теперь он не находит уже сам initrd.

Что проще сделать: переустановить систему с нуля (как поступило большинство, столкнувшихся с тем же самым), переустановить систему минимально и копировать поверх всё из старой (кроме содержимого /boot и /etc/fstab. Но когда я последний раз так делал, KDE перестал запускаться по неизвестной причине) или же поставить загрузчик? Есть ещё вариант попробовать GRUB второй.
Файлы menu.lst, fstab и вывод команды blkid в студию.
title  Arch Linux
root   (hd0,0)
kernel /boot/vmlinuz-linux root=/dev/disk/by-uuid/87791b6d-9837-4cf4-9910-3f0f33c7cfd6 ro
initrd /boot/initramfs-linux.img
title  Arch Linux Fallback
root   (hd0,0)
kernel /boot/vmlinuz-linux root=/dev/disk/by-uuid/87791b6d-9837-4cf4-9910-3f0f33c7cfd6 ro
initrd /boot/initramfs-linux-fallback.img

devpts                 /dev/pts      devpts    defaults            0      0
shm                    /dev/shm      tmpfs     nodev,nosuid        0      0
UUID=87791b6d-9837-4cf4-9910-3f0f33c7cfd6 / ext4 defaults 0 1
#UUID=88a707e3-f8f4-489f-bc6d-35b247d71fa3 /boot ext4 defaults 0 1
UUID=129ab37d-12cb-4250-bd6d-19e86ab0ea3a /home ext4 defaults 0 1
UUID=4054fb52-dd0b-4654-80f0-c69d59377aa5 /home/chaos/torrents ext4 defaults 0 1
UUID=2b9e42c7-9f91-4a01-b553-1d3bad74c83d swap swap defaults 0 0

/dev/sda1: LABEL="BOOT" UUID="88a707e3-f8f4-489f-bc6d-35b247d71fa3" TYPE="ext4" 
/dev/sda2: LABEL="ROOT" UUID="87791b6d-9837-4cf4-9910-3f0f33c7cfd6" TYPE="ext4" 
/dev/sda3: LABEL="HOME" UUID="129ab37d-12cb-4250-bd6d-19e86ab0ea3a" TYPE="ext4" 
/dev/sdb1: UUID="087e95b4-4b2d-4280-a17a-8e590d209746" TYPE="ext4" 
/dev/sdb2: UUID="9a1d89c5-2a04-446b-8ea8-cd4704529c26" TYPE="ext4" 
/dev/sdb3: UUID="4054fb52-dd0b-4654-80f0-c69d59377aa5" TYPE="ext4" 
/dev/sdb4: UUID="2b9e42c7-9f91-4a01-b553-1d3bad74c83d" TYPE="swap"
Самое заметное –
root   (hd0,0)
указывает на первый раздел загрузочного диска, то есть BOOT, а вы вроде переносили загрузку на ROOT, который идёт вторым. Потому GRUB и не находит файла.

Вообще, функция initcpio состоит совсем не в чтении файлов из /boot/ . Его задача – смонтировать корень.
Читать из /boot/ должен загрузчик. GRUB поддерживает ext2, а от initcpio это не требуется. Правда, если верить blkid, сейчас у вас в разделе BOOT уже стоит ext4.
Natrio
GRUB поддерживает ext2, а от initcpio это не требуется. Правда, если верить blkid, сейчас у вас в разделе BOOT уже стоит ext4.
Откуда тогда, интересно, я получаю сообщение о неизвестном типе файловой системы ext2? И ext3 тоже, с ext4 только и грузится.
Как точно выглядит это сообщение, и после чего оно выдаётся?
Единственная ФС, которую обязан поддерживать initcpio, это та, что стоит в корне. Другими словами, при его сборке (mkinitcpio) в образ помещается соответствующий модуль ядра, и разумеется, только он.

Если вы действительно получили такое от initcpio, возможно, вы пытались смонтировать вместо корня раздел с ext2, загрузив initcpio без “fallback”. К примеру, у меня корень в etx4, и поэтому
$ lsinitcpio /boot/initramfs-linux.img |grep ext
./lib/modules/3.1.7-1-ARCH/kernel/fs/ext4
./lib/modules/3.1.7-1-ARCH/kernel/fs/ext4/ext4.ko.gz
$ lsinitcpio /boot/initramfs-linux-fallback.img |grep ext
./lib/modules/3.1.7-1-ARCH/kernel/fs/ext2
./lib/modules/3.1.7-1-ARCH/kernel/fs/ext2/ext2.ko.gz
./lib/modules/3.1.7-1-ARCH/kernel/fs/ext4
./lib/modules/3.1.7-1-ARCH/kernel/fs/ext4/ext4.ko.gz
./lib/modules/3.1.7-1-ARCH/kernel/fs/ext3
./lib/modules/3.1.7-1-ARCH/kernel/fs/ext3/ext3.ko.gz
А да, я же собирался BOOT стереть. (hd0,1) запустило систему.

Вопрос остаётся, почему с отдельного раздела оно не грузится вот с этим:
Error: Root device mounted successfully, but /sbin/init does not exist.
Bailing out, you are on your own. Good Luck
[ramfs /]#
Так как я не знаю, какие конфиги были с отдельным разделом, могу только предположить, что раздел был действительно смонтирован, да не тот. К примеру, тот самый BOOT.
Подробности можно было выяснить, просто осмотревшись с помощью открывшейся консоли busybox, которая #
я когда чтото подобное хочу замутить, закидываю в корни всех партиций акромя свопа, файлы. Например label 1 ,2,3 и т.д. и Потом в ramfs достаточно было ls, чтобы “осмотреться” как выразился Natrio.
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
Посмотрите еще раз на свой menu.lst: Grub загружается из раздела (hd0,0), который на машине sda1 (и монтируется в /boot), далее Grub ищет vmlinuz-linux в (разворачиваем) –> (hd0,0) (является sda1 и монтируется в /boot), согласно заяявленному в menu.lst ищем в смонтированной системе файл /boot/boot/vmlinuz-linux… и, конечно. его там нет… Там же, в /boot/boot ищем initramfs-linux.img…
Семен Семеныч??? )))
 
Зарегистрироваться или войдите чтобы оставить сообщение.