在 Acer S7 上为新的 Arch Linux 安装安装 grub 后无法启动

在 Acer S7 上为新的 Arch Linux 安装安装 grub 后无法启动

我已按照以下说明进行操作Arch Linux 初学者指南在 Acer S7-392 上进行双重启动。我只是没有执行该initramfs部分,并且在安装时没有创建分区,因为我在安装之前使用了另一个工具来创建分区。

另外,我没有做任何安装 RAID0 的工作,因为 U 盘在启动后就发现了 RAID0,而我无需做任何事情。

我还做出了以下选择:

  • /dev/mp126p5是我的/
  • /dev/mp126p6是我的/boot
  • /dev/mp126p7是我的swap

但是安装 Grub 后,我无法启动 Linux。我设法为 Windows 添加一个条目并成功启动它。 blkid返回以下内容:

/dev/sda: TYPE="isw_raid_member"
/dev/sdb: TYPE="isw_raid_member"
/dev/sdc1: LABEL="ARCH_201503" UUID="1E0A-194C" TYPE="vfat" PARTUUID="c3072e18-01"
/dev/loop0: TYPE="squashfs"
/dev/loop1: UUID="5aecb61b-2567-403a-a752-050e4d164111" TYPE="ext4"
/dev/loop2: UUID="5aecb61b-2567-403a-a752-050e4d164111" TYPE="ext4"
/dev/mapper/arch_airootfs: UUID="5aecb61b-2567-403a-a752-050e4d164111" TYPE="ext4"
/dev/md126p1: LABEL="Recovery" UUID="70583CED583CB3A6" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="498d4ed4-3188-4daa-8059-824c94fd919a"
/dev/md126p2: LABEL="ESP" UUID="443E-CEA7" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="5590eefc-4879-4ad8-bdbb-83addea5df0c"
/dev/md126p4: LABEL="Windows" UUID="8C48153E4815290A" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="ad25c7d6-ab88-4e42-be00-48fb3695771c"
/dev/md126p5: LABEL="ARCH" UUID="a5e3b60e-8359-8c5e-24d5-b31dcdb7c56c" TYPE="ext4" PARTLABEL="Basic data partition" PARTUUID="1dc85605-e2b2-4887-9f91-3b8e08a9b23d"
/dev/md126p6: UUID="C65D-DD84" TYPE="vfat" PARTLABEL="Basic data partition" PARTUUID="1b97aac7-91ea-490f-c87b-de63a37540a1"
/dev/md126p7: UUID="402ac0b6-7a85-40ff-8757-6e5aa62a7d46" TYPE="swap" PARTLABEL="Basic data partition" PARTUUID="591680a4-bda3-452b-75cc-54084b005b34"
/dev/md126p8: LABEL="Push Button Reset" UUID="E45E43485E43132A" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="03da0cd7-674e-494a-9b11-94bea46585ea"
/dev/md126: PTUUID="db649bd9-6051-46ac-8a57-6506552ae288" PTTYPE="gpt"
/dev/md126p3: PARTLABEL="Microsoft reserved partition" PARTUUID="18c44381-ef76-4f4b-8b26-f92980cfe007"

我的 /boot/grub/grub.cfg 文件可以在这里找到粘贴链接。我添加了一项来启动 Windows,并且效果如下:我可以成功启动 Windows。

我使用以下脚本来安装 grub:

##!/bin/bash
grub-mkconfig > /boot/grub/grub.cfg
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub_uefi --boot-directory=/boot --recheck --debug

启动时,在 grub 中选择 Arch 分区后,我在屏幕上看到以下内容:

[ xxxxxxxxxx] Ignoring BGRT: Invalid status 0 (expected 1)
starting version 218
ERROR: device 'UUID=a5e3b60e-8359-8c5e-24d5-b31dcdb7c56c' not found. Skipping fsck.
ERROR: Unable to find root device 'UUID=a5e3b60e-8359-8c5e-24d5-b31dcdb7c56c' .
You are being dropped to a recovery shell
    Type 'exit' to try and continue booting
sh: can't access tty: job control turned off
[rootfs /]#

这很奇怪,因为当我在 USB 记忆棒上启动时,我安装//dev/md126p5并且 UUID 看起来正确(如果不是,那是因为我在启动后手动输入了错误消息):

其内容/etc/fstab为:

# 
# /etc/fstab: static file system information
#
# <file system> <dir>   <type>  <options>   <dump>  <pass>
# /dev/md126p5 LABEL=ARCH

# /dev/md126p5 LABEL=ARCH
UUID=a5e3b60e-8359-8c5e-24d5-b31dcdb7c56c   /           ext4        rw,relatime,data=ordered    0 1

# /dev/md126p6
UUID=C65D-DD84          /boot       vfat        rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro    0 2

# /dev/md126p4 LABEL=Windows
UUID=8C48153E4815290A   /win8       ntfs        rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096  0 0

# /dev/md126p2 LABEL=ESP
UUID=443E-CEA7          /winboot    vfat        rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro    0 2

# /dev/md126p7
UUID=402ac0b6-7a85-40ff-8757-6e5aa62a7d46   none        swap        defaults    0 0

我在这个问题上有点挣扎,是因为 Acer S7 默认带有 RAID 0 吗?我从未在 RAID 0 上安装过 Linux,我认为因为 USB 记忆棒可以找到 RAID 0,所以我不需要做任何特殊的事情来使其工作。

答案1

我放了一个更大的文章我的博客但如果我的网站出现故障,我将在下面回顾一下我如何解决这个问题。

看起来 Acer-S7 出厂时就带有 RAID0,在 USB 安装盘上启动后,您将看到诸如/dev/md126.

安装裸操作系统后,您需要确保使用可以识别该 RAID 的 initramfs 启动。

对我来说,解决方案是在中添加以下几行/etc/mkinitcpio.conf

MODULES="ext4 dm_mod raid0"
...
HOOKS="base udev autodetect modconf block mdadm_udev filesystems keyboard fsck shutdown"

然后使用以下命令安装 initramfs 并更新 grub:

mkinitcpio -p linux
grub-mkconfig &gt; /boot/grub/grub.cfg
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub_uefi --boot-directory=/boot --recheck 

相关内容