我的问题是类似于这个,但有一些差异。启动时,我收到以下消息:
[ 0.030164] Ignoring BGRT: invalid status 0 (expected 1)
:: running early hook [udev]
starting version 223
:: running hook [udev]
:: Triggering uevents...
:: performing fsck on '/dev/sda8'
sda8: clean, ...
:: mounting '/dev/sda8' on real root
:: running late hook [usr]
:: performing fsck on '/dev/sda5'
sda5: clean, ...
:: mounting /dev/sda5 on /usr
:: running cleanup hook [shutdown]
:: running cleanup hook [udev]
ERROR: Root device mounted successfully, but /sbin/e4rat-preload does not exist.
Bailing out, you are on your own. Good luck.
sh: can't access tty; job control turned off
[rootfs /]#
(如果我告诉 GRUB 使用/sbin/init
或,它会说同样的事情/bin/systemd
。)
正如另一个问题中接受的答案所建议的,我使用 live-CD chroot 进入 Arch 安装,添加了正确的挂钩mkinitcpio.conf,/usr
在 /etc/fstab 中标记为 0 的 passno,并使用 重新创建了 init 映像mkinitcpio -p linux-ck
。
它似乎有效,但结果仍然相同,我现在无法 chroot 进入系统。
$ arch-chroot /mnt
chroot: failed to run command `/bin/bash': No such file or directory
sudo parted -l
:
sudo parted -l /dev/sda
Model: ATA Hitachi HTS54757 (scsi)
Disk /dev/sda: 750GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 1075MB 1074MB fat32 EFI System Partition boot, esp
2 1075MB 270GB 268GB ntfs Windows 10 msftdata
3 270GB 484GB 215GB ntfs Jeffrey msftdata
4 484GB 484GB 16.8MB Microsoft reserved partition msftres
5 535GB 589GB 53.7GB ext4
6 589GB 643GB 53.7GB ext4
7 643GB 696GB 53.7GB ext4
8 696GB 750GB 53.7GB ext4 Arch
/etc/fstab
# /dev/sda5
PARTUUID="4495844c-bbf3-4be0-a2f3-7d143077a2ed" /usr ext4 ro,relatime 0 2
# /dev/sda6
PARTUUID="23a5589e-5e88-40a3-9497-d3da166f3d4a" /tmp ext4 rw,relatime,noexec,nosuid 0 0
# /dev/sda7
PARTUUID="07a6f06a-87f2-405e-a3d7-d26c5085041e" /mnt/bindir ext4 rw,relatime,nosuid 0 2
/mnt/bindir/root /root none bind 0 0
/mnt/bindir/var /var none bind 0 0
/var/home /home none bind 0 0
/tmp /var/tmp none bind 0 0
# /dev/sda1
PARTUUID="e532f9e3-ccd5-4edf-a8b0-35069e8afb35" /boot vfat rw,relatime,umask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 0
# /dev/sda2
PARTUUID="f373613c-9b70-42c1-8266-d5774b212ef" /mnt/Windows ntfs-3g rw,relatime,errors=remount-ro,users,nosuid,nodev,nofail,x-gvfs-show 0 0
# /dev/sda3
PARTUUID="e8fd05ac-9496-40fb-af01-01b41958fd41" /mnt/Jeffrey ntfs-3g rw,relatime,errors=remount-ro,users,nosuid,nodev,nofail,x-gvfs-show 0 0
0 0
答案1
我懂了:
mounting '/dev/sda8' on real root
您的 fstab 中不应该有 / 目录的 /dev/sd8 条目吗?除了您的实际根目录外,我还看到了所有其他挂载点。
答案2
当我运行时ldd /mnt/usr/bin/bash
,我注意到缺少一些必需的库。我将/usr/lib
Live CD 中的内容复制到/usr/lib
我的计算机上。现在我可以 chroot 进入我的安装。
我从 AUR 下载了 Linux-ck 的快照,编辑了 .config 以满足我的需要,并编译了内核。然后,我跑了,mkinitcpio -p linux-ck
然后grub-mkconfig -o /boot/grub/grub.cfg
。
之后,我能够启动到部分工作的系统。似乎我缺少一些软件包,并且安装的软件包缺少文件,用pacman -Qk
.我尝试重新安装所有软件包pacman -Qenq | pacman -S -
,但这不起作用,因为 pacman 的数据库已损坏。我不得不恢复本地数据库,这也解决了之前的问题。
目前,唯一还不行的就是 GNOME。