Como @Leiaz apontou muito corretamente nos comentários, /sbin
no Arch (e por extensão, Manjaro) agora é um link simbólico para /usr/bin
. Isso significa que, a menos que /usr
esteja montado, /usr/sbin/init
não existirá. Portanto, você precisa certificar-se de que /usr
seja montado pelo ramdisk inicial. Isso é o que a citação do wiki do Arch no seu OP significa:
If you keep /usr as a separate partition, you must adhere to the following requirements:
Enable mkinitcpio-generate-shutdown-ramfs.service or add the shutdown hook.
Add the fsck hook, mark /usr with a passno of 0 in /etc/fstab. While recommended for everyone, it is mandatory if you want your /usr partition to be fsck'ed at boot-up. Without this hook, /usr will never be fsck'd.
Add the usr hook. This will mount the /usr partition after root is mounted. Prior to 0.9.0, mounting of /usr would be automatic if it was found in the real root's /etc/fstab.
Então, você precisa gerar um novo arquivo init com os ganchos direitos 1 . Estes são adicionados alterando a linha HOOKS=""
em /etc/mkinitcpio.conf
. Então
-
Inicialize no Mint e monte o diretório Manjaro
/
:mkdir manjaro_root && sudo mount /dev/sda11 manjaro_root
Agora, a raiz do Manjaro será montada em
~/manjaro_root
. -
Edite o arquivo
mkinitcpio.conf
usando seu editor favorito (estou usandonano
como exemplo, não mais):sudo nano ~/manjaro_root/etc/mkinitcpio.conf
Encontre a linha
HOOKS
e verifique se ela contém os ganchos relevantesHOOKS="shutdown usr fsck"
Importante ": não remova nenhum dos ganchos já presentes. Basta adicionar o acima aos que estão lá. Por exemplo, o resultado final pode parecer
HOOKS="base udev autodetect sata filesystems shutdown usr fsck"
-
Marque
/usr
com um passno de 0 em/etc/fstab
. Para fazer isso, abramanjaro_root/etc/fstab
e encontre a linha/usr
. Para este exemplo, assumirei que é/dev/sda12
, mas use o que estiver em seu sistema. O número "pass" é o último campo de uma entrada/etc/fstab
. Então, você precisa ter certeza de que a linha se parece com/dev/sda12 /usr ext4 rw,errors=remount-ro 0 0 ^ This is the important one -----|
-
Crie a nova imagem de inicialização. Para fazer isso, você terá que montar também o diretório
/usr
do Manjaro.sudo mount /dev/sda12 ~/manjaro_root/usr
Eu não tenho muita experiência com o Arch, então isso pode não ser necessário (você pode executar
mkinitcpio
semchroot
), mas para garantir, configure um ambientechroot
: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
Você agora estará em um ambiente chroot que pensa que
~/manjaro_root/
é realmente/
. Agora você pode ir em frente e gerar sua nova imagem de inicializaçãomkinitcpio -p linux
-
Saia do
chroot
exit
-
Atualize seu
grub.cfg
(novamente, isso pode não ser realmente necessário):sudo update-grub
Agora reinicie e tente iniciar o Manjaro novamente.
1 "Ganchos" são pequenos scripts que dizem ao mkinitcpio
o que deve ser adicionado à imagem do init que ele gera.