私のコンピュータにLinux MintとManjaro Linuxをインストールしました。 MBRにのみLinux Mintをインストールしました。 Manjaroの場合、パーティションを作成しましたが、/boot/efi
MBRのインストールを確認していません。
だから私はgrub
コントロールのためにペパーミントを使用します。 Manjaroを起動しようとすると、次のようになります。
ERROR: resume: no device specified for hibernation: performing fsck on
dev/sda11 /dev/sda11: clean 1727/915712 files, .... blocks
WARNING: The root device is not configured to be mounted read-write!It
may be fsck'd again later
:mounting /dev/sda11 on real boot running cleanup hook [udev]
ERROR: Root device mounted successfully, but /sbin/init does not exist.
sh:can't access tty; job control turned off
[rootfs /]#
シェルプロンプトの後には何も書き込めません。動作が停止したり、次のメッセージが表示され続ける場合があります。
usb 3-3: device not accepting address 2, error -62
など...
init=/usr/lib/systemd/systemd
Google で見たように grub に追加しようとしましたが、まだ同じです。
Manjaroインストールの場合と/
別々のパーティションを使用することに注意してください。たぶんこれが影響を与えるのでしょうか?私が見るには/usr
/var
ここ。
ところで問題は何も書けないので止まるということです。
ブログ投稿へのコメントも見つかりました。ここそれは以下を規定します:
「/usr を別々のパーティションとして使用する場合は、次の要件に従う必要があります。」 - 終了フックを追加します。シャットダウンプロセスは、保存されたinitramfsコピーにリダイレクトされ、/ usr(およびルート)がVFSから適切にアンマウントされるようにします。
- fsckフックを追加して/etc/fstabで/ usrをpassno 0としてマークします。すべての人にお勧めしますが、起動時に/ usrパーティションをfsckに設定したい場合は必須です。ではありません。
" - usrフックを追加します。ルートをマウントした後に/ usrパーティションをマウントします。
そして、mkinitcpio.confを変更するたびに、mkinitcpio -p linuxを実行して実際に新しいイメージを作成して正しい場所に配置することを忘れないでください。
/usr
私は実際に別々のパーティションにあるので、これは有望なものです。これらの「フック」とは何ですか?
parted -l
:
Model: ATA TOSHIBA MQ01ABD0 (scsi)
Disk /dev/sda: 750GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 1075MB 1074MB ntfs Basic data partition hidden, diag
2 1075MB 1347MB 273MB fat32 Basic data partition boot
3 1347MB 1482MB 134MB ntfs Basic data partition msftres
4 1482MB 80,1GB 78,6GB ntfs Basic data partition msftdata
5 80,1GB 80,4GB 262MB ext4
6 80,4GB 90,4GB 10,0GB ext4 msftdata
7 93,0GB 102GB 9000MB ext4 msftdata
9 102GB 106GB 3999MB linux-swap(v1)
10 106GB 106GB 250MB fat32 boot
11 106GB 121GB 15,0GB ext4 msftdata
12 121GB 151GB 30,0GB ext4 msftdata
13 151GB 165GB 14,0GB ext4 msftdata
14 165GB 206GB 40,9GB ext4 msftdata
8 206GB 743GB 537GB ext4 msftdata
15 743GB 747GB 4000MB linux-swap(v1) msftdata
grub
:
menuentry 'Linux Mint 17 Cinnamon 64-bit, 3.13.0-24-generic (/dev/sda5)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 19af2e09-8946-4ca2-9655-75921f3609a5
else
search --no-floppy --fs-uuid --set=root 19af2e09-8946-4ca2-9655-75921f3609a5
fi
linux /vmlinuz-3.13.0-24-generic root=UUID=9356f543-f391-4ba5-9dcc-e8484d6935e0 ro quiet splash $vt_handoff
initrd /initrd.img-3.13.0-24-generic
}
menuentry 'Linux Mint 17 Cinnamon 64-bit, 3.13.0-24-generic (/dev/sda5) -- recovery mode' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 19af2e09-8946-4ca2-9655-75921f3609a5
else
search --no-floppy --fs-uuid --set=root 19af2e09-8946-4ca2-9655-75921f3609a5
fi
echo 'Loading Linux 3.13.0-24-generic ...'
linux /vmlinuz-3.13.0-24-generic root=UUID=9356f543-f391-4ba5-9dcc-e8484d6935e0 ro recovery nomodeset
echo 'Loading initial ramdisk ...'
initrd /initrd.img-3.13.0-24-generic
}
menuentry 'Manjaro Linux (0.8.10) (on /dev/sda11)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-95ed019d-9269-4869-9f99-a03f002a53c6' {
insmod part_gpt
insmod ext2
set root='hd0,gpt11'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt11 --hint-efi=hd0,gpt11 --hint-baremetal=ahci0,gpt11 95ed019d-9269-4869-9f99-a03f002a53c6
else
search --no-floppy --fs-uuid --set=root 95ed019d-9269-4869-9f99-a03f002a53c6
fi
linux /boot/vmlinuz-312-x86_64 root=/dev/sda11
initrd /boot/initramfs-312-x86_64.img
}
submenu 'Advanced options for Manjaro Linux (0.8.10) (on /dev/sda11)' $menuentry_id_option 'osprober-gnulinux-advanced-95ed019d-9269-4869-9f99-a03f002a53c6' {
menuentry 'Manjaro Linux (0.8.10) (on /dev/sda11)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-312-x86_64--95ed019d-9269-4869-9f99-a03f002a53c6' {
insmod part_gpt
insmod ext2
set root='hd0,gpt11'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt11 --hint-efi=hd0,gpt11 --hint-baremetal=ahci0,gpt11 95ed019d-9269-4869-9f99-a03f002a53c6
else
search --no-floppy --fs-uuid --set=root 95ed019d-9269-4869-9f99-a03f002a53c6
fi
linux /boot/vmlinuz-312-x86_64 root=/dev/sda11
initrd /boot/initramfs-312-x86_64.img
}
}
ベストアンサー1
@Leiazがコメントで正しく指摘したように、/sbin
Arch(およびManjaro拡張による)は、マウントされていない場合は存在しないことを/usr/bin
意味します。したがって、初期のRAMディスクにマウントされていることを確認する必要があります。 OPのArch wiki引用が意味するものは次のとおりです。/usr
/usr/sbin/init
/usr
/usrを別々のパーティションとして使用する場合は、次の要件を満たす必要があります。
mkinitcpio-generate-shutdown-ramfs.serviceを有効にするか、シャットダウンフックを追加してください。
fsckフックを追加し、/ etc / fstabで/ usrをpassno 0としてマークします。すべての人にお勧めしますが、起動時に/ usrパーティションをfsckに設定するには必須です。このフックがないと、/ usrは決してfsckされません。
usrフックを追加します。ルートをマウントした後、/ usrパーティションをマウントします。 0.9.0より前は、/ usrが実際のルートディレクトリの/ etc / fstabにある場合は自動的にマウントされていました。
したがって、正しいフックを使用して新しい初期化ファイルを生成する必要があります1。これはHOOKS=""
の行を変更することによって追加されます/etc/mkinitcpio.conf
。だから
Mintで起動し、Manjaro
/
ディレクトリをマウントします。mkdir manjaro_root && sudo mount /dev/sda11 manjaro_root
今Manjaroのルートディレクトリが
~/manjaro_root
。お気に入りのエディタを使用してファイルを編集します
mkinitcpio.conf
(nano
これは単なる例であり、詳細は説明しません)。sudo nano ~/manjaro_root/etc/mkinitcpio.conf
行を見つけて、関連する
HOOKS
フックが含まれていることを確認してください。HOOKS="shutdown usr fsck"
重要:すでに存在するフックを削除しないでください。そこに上記の内容を追加するだけです。たとえば、最終結果は次のとおりです。
HOOKS="base udev autodetect sata filesystems shutdown usr fsck"
で
/usr
passnoを0としてマークします/etc/fstab
。これを行うには、manjaro_root/etc/fstab
この/usr
行を開いて見つけます。この例ではと仮定します/dev/sda12
。ただし、システムにあるものを使用してください。 「パス」番号は/etc/fstab
アイテムの最後のフィールドです。したがって、線が次のようになっていることを確認する必要があります。/dev/sda12 /usr ext4 rw,errors=remount-ro 0 0 ^ This is the important one -----|
新しい初期化イメージを作成します。これを行うには、
/usr
Manjaroのディレクトリもマウントする必要があります。sudo mount /dev/sda12 ~/manjaro_root/usr
私はArchの経験があまりないので、必要ないかもしれません(おそらく
mkinitcpio
実行できませんchroot
)。ただし、安全のために環境を設定してくださいchroot
。sudo mount --bind /dev ~/manjaro_root/dev && sudo mount --bind /dev/pts ~/manjaro_root/dev/pts && sudo mount --bind /proc ~/manjaro_root/proc && sudo mount --bind /sys ~/manjaro_root/sys && sudo chroot ~/manjaro_root
~/manjaro_root/
これで実際にはchroot環境になります/
。これで、新しい初期化イメージの作成に進むことができます。mkinitcpio -p linux
やめる
chroot
exit
更新してください
grub.cfg
(もう一度言うが、実際には必要ないかもしれません)。sudo update-grub
それでは、再起動してManjaroで再起動してみてください。
1mkinitcpio
「フック」は、生成される初期化イメージに何を追加する必要があるかを示す小さなスクリプトです。