Моя система Ubuntu не загружается после изменения файла / etc / default / grub, даже если я отменил модификацию позже.
У меня есть ПК с четырьмя операционными системами: 1. Ubuntu с grub2; 2, Centos; 3, Debian; и 4 gentoo.
То, что падает, это Ubuntu. Вот почему я размещаю вопрос здесь.
В связи с недавним обновлением gentoo, которое требует установки systemd, мне нужно изменить конфигурацию grub2, установленной в Ubuntu, в частности два шага :
Модификация 1 : добавьте дополнительные строки:
init=/usr/lib/systemd/systemd
в меню Gentoo в /boot/grub/grub.cfg. Эта модификация определенно не повлияет на загрузку других систем.
Модификация 2: добавить
GRUB_CMDLINE_LINUX="init=/usr/lib/systemd/systemd"
в / etc / default / grub системы Ubuntu, которая не установлена systemd. Конечно, вторая модификация не подходит для моего случая, потому что в Ubuntu не установлен systemd (это ничего не находится в / usr / lib / systemd / systemd в Ubuntu).
Однако вторая модификация становится смутьяном. После добавления этой строки система не может загрузиться в Ubuntu (меню grub по-прежнему работает). Осознав проблему, я решил снять вторую модификацию. Однако, когда я снова загружаю Ubuntu, система зависает со следующим экраном:
Target filesystem desn't have requested /usr/lib/systemd/systemd
busybox v1.20.2 (Debian 1:1.20.0-7) multi-call binary
Usage: switch_root '-c /dev/console] NEW_ROOT NEW_INIT [ARGS}
Free initramfs and switch to another root fs:
Chroot to NEW_ROOT, delete all in /, move NEW_ROOT to /.
execute NEW_INIT. PID must be 1 NEW_ROOT must be a mountpoint.
-c DEV reopen stdio to DEV
Сброс может быть сделан только путем выключения и затем на ПК, а не с помощью Ctrl + Alt + Del.
Эта проблема воспроизводима на 100%. Поскольку Ubuntu не работает, я установил grub2 из системы Debian. Точно такой же экран появляется после того, как я провел модификацию 2 в / etc / default / grub в системе Debian и перезагрузил Debian с отмененной модификацией.
Может ли кто-нибудь помочь в этом вопросе? сейчас работает только Centos, из которого я пишу этот вопрос о помощи в Askubuntu.
файл
/etc/default/grub
используется для хранения параметров grub по умолчанию при использовании update-grub . в строке комментария в / etc / default / grub говорится:
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
Конечно, если вы добавите:
init=/usr/lib/systemd/systemd
в / etc / default / grub , после запуска update-grub у вас будет init = / usr / lib / systemd / systemd для каждого входа в меню. например:
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-amd64' --class debian --class gnu-linux --class gnu --class os {
load_video
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos8)'
search --no-floppy --fs-uuid --set=root ca645602-ca68-498a-87d2-46cf205285dc
echo 'Loading Linux 2.6.32-5-amd64 ...'
linux /boot/vmlinuz-2.6.32-5-amd64 root=UUID=ca645602-ca68-498a-87d2-46cf205285dc ro init=/usr/lib/systemd/systemd quiet
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.32-5-amd64
}
, который не может загрузить Debian без установленного systemd.