如何修复ArchLinux引导问题?30秒教你搞定! (修复archlinux 引导)

ArchLinux是一款Linux操作系统,它的开发初衷是为了给Linux爱好者和专业人士提供一个更加灵活和高效的操作系统。然而,与其他Linux发行版一样,使用ArchLinux也会遇到各种引导问题,这些问题可能会导致你的操作系统无法启动或者启动异常缓慢。本篇文章将会介绍如何通过简单的步骤修复ArchLinux的引导问题,只需要30秒,你即可搞定。

步骤一:检查硬件

我们需要确定硬件是否正常运作。开机时,你需要按下你们机器相应的快捷键进入BIOS或者UEFI模式,并检查硬盘的连接是否正常。如果发现连接有问题,那么你需要把硬盘插好并重新启动电脑。一旦硬盘没有异常,则需要检查硬盘是否有损坏或者出现了坏道,可以通过在Windows下使用磁盘检查工具检查。如果损坏或坏道,那么你需要更换这个硬盘或者进行数据备份和修复。

步骤二:进入ArchLinux ISO

如果问题不在硬盘上,那么说明可能是引导引起的。接下来我们需要进入ArchLinux的ISO,可以从官方网站下载ISO镜像然后将其写入U盘或者刻录成光盘。在进入ArchLinux ISO之前,你需要在BIOS/UEFI设置里面将系统从存储介质引导。当你的计算机能够从ISO镜像引导时,你可以看到一个Arch的引导菜单。你需要选择ArchLinux进入单用户模式。

步骤三:安装所需的软件

在进入ArchLinux单用户模式后,你需要安装一些必要的软件包,以便你能够修复你的引导问题。你需要使用一切还原工具(all file tool),使用该工具可以快速地进入并进行文件操作。使用以下命令:

“`

pacman -Syy arch-install-scripts

“`

以上命令会安装所必需的软件包,以便于进行接下来的操作。

步骤四:恢复引导

恢复引导的步骤可能会有所不同,具体情况可能取决于你所遇到的问题。如果你的引导问题是由Grub引起的,那么你可以使用以下命令修复引导:

“`

grub-install /dev/sda

update-grub

“`

此外,如果你的引导问题是由systemd-boot引起的,那么恢复的步骤应该是以下这样:

“`

bootctl install

“`

以上命令会重新安装systemd-boot并自动生成引导配置文件。

通过本文所提供的简单步骤,你可以快速地修复ArchLinux的引导问题。检查硬件、进入ArchLinux ISO、安装必要的软件包以及恢复引导,这四个步骤构成了修复引导的核心内容。在执行命令时,需要根据具体引导问题进行相应的更改。希望本文能够帮助你解决你遇到的ArchLinux引导问题。

相关问题拓展阅读:

archlinux安装过程中重启系统后出现问题

不知道

还好你是在虚拟机中安装,谨记不确定后果的操作不要实施,所以不要让负面情绪影响对计算机的操作。

‍archlinux作为滚动发行版,更新频繁,网上的乱慎模“教程”很容易过时,其wiki的资源相对较新,不确定时建议

优先参考

archwiki的资料。

你安装时可能遗漏部分步骤:

1、安装GNOME桌面系统时,孝烂至少要有以下步骤:

pacman -S xorg-server xorg-xinit xf86-video-vesa

pacman -S gnome

~/.xinitrc exec gnome-session

2、虚拟机安装后启动未更改启动哗缓顺序

virtualbox启动时确认键盘捕获后按F12

确认你选择的Boot loader的启动顺序为首位

3、取消“启用EFI”选项后,GPT/BIOS引导缺少BIOS引导分区,故失败。

4、启动后出现fs0等,表示进入UEFI shell,需要查阅相应手册。

参考资料:

Arch Linux 中差大文文档非常详细,既然楼主用虚拟机虚敬竖安装,那么探索系统安装出现问题的解决办法远比安装系统本身更为重要,所以,多看看安装部分稿唤的文档吧

安装ArchLinux到U盘(四)安装Archlinux

点击 Power on this virtual machine 启动 Installer 虚拟机

点击 Enter 启动Archlinux安装镜像

等待启动完毕,输入 llk 应该显示下灶谨面的内容

这时候U盘还没有连接至虚拟机,点击菜单VM > Removable Devices > USB Device > Connect(Disconnect from Host),将U盘连接至虚拟机,其中

USB Device

是U盘的名称,U盘不同名称应该也是不同的。

然后输入 llk 应该显示下面的内容,可以看到已经有 sdb 这个磁盘了

以下的内容基于Archlinux官网的wiki,如果有不桥做明白的地方可以参考 官方Wiki

这里我们选择分三个区:

输入 fdisk /dev/sdb 进入分区程序

输入 o 开始分区

输入 n 新建EFI分区

点击 Enter 选择默认分区序号

点击 Enter 选择默认起始扇区

输入 +128M 新建EFI分区大小为128M

输入 n 新建根分区

点击 Enter 选择默认分区序号

点击 Enter 选择默认起始扇区

输入 +20G 新建根分区大小为20G,敏辩衡该分区容量可根据U盘容量自行决定,不一定非得是20G

输入 n 新建根分区

点击 Enter 选择默认分区序号

点击 Enter 选择默认起始扇区

点击 Enter 选择默认容量,剩余全部未分配分区

输入 p 查看分区信息

输入 w 写入分区信息

输入 llk 可以看到已经有 sdb 磁盘,下面有 sdb1 , sdb2 , sdb3 三个分区

输入 mkfs.fat -F 32 /dev/sdb1 格式化 sdb1 为FAT32格式

输入 mkfs.fat -F 32 /dev/sdb3 格式化 sdb3 为FAT32格式

输入 mkfs.ext4 /dev/sdb2 格式化 sdb2 为ext4格式,如果出现 Proceed anyway? ,输入y继续格式化

输入 mount /dev/sdb2 /mnt 挂载 sdb2 到 /mnt

输入 mkdir -p /mnt/boot/efi 创建 /mnt/boot/efi 目录

输入 mount /dev/sdb1 /mnt/boot/efi 挂载 sdb1 到 /mnt/boot/efi

sdb3 U盘分区无需挂载

输入 cd /etc/pacman.d 选择目录

输入 cp mirrorlist mirrorlist.bk 将 mirrorlist 拷贝到 mirrorlist.bk

输入 cat mirrorlist.bk | grep China -A 1 | grep -v ‘-‘ > mirrorlist 将所有中国的镜像写入 mirrorlist

输入 nano mirrorlist 编辑镜像列表

经测试,清华和163的镜像是最快的,这里可以根据实际测试来决定选择哪一个。可以在 Server 前面写入 # 来注释掉该镜像。

编辑完成之后 点击 CTRL + X 退出编辑

点击 y

点击 Enter ,保存文件

输入 pacstrap -i /mnt base base-devel ntfs-3g 安装系统,然后点击 Enter

点击 Enter

点击 Enter

然后静静地等待安装完成。

输入 genfstab -U -p /mnt > /mnt/etc/fstab 生成文件系统表

输入 arch-chroot /mnt 进入新系统

输入 nano /etc/locale.gen 选择文字编码

将 zh_CN 开头的行全部取消注释,再找到 en_US.UTF-8 UTF-8也取消注释。 编辑完成之后保存。nano 的使用方法不再赘述

输入 locale-gen

输入 nano /etc/locale.conf 在文件中写入 LANG=en_US.UTF-8 保存

输入 rm /etc/localtime 删除原 UTC 时区

输入 ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

设置计算机系统时区为上海

输入 hwclock –systohc –localtime 设置硬件时间为本地时间

输入 echo steven > /etc/hostname 将主机名配置成 steven,这个名称可以自行更改

输入 nano /etc/mkinitcpio.conf 找到下面这行

将 block 写到 udev 之后,然后保存,这样做就是为了让u在启动的之后首先加载

输入 mkinitcpio -p linux ,生成启动镜像

输入 passwd 设置 root 用户的密码,注意输入密码时没有回显。

输入 pacman -S zd1211-firmware 安装无线网卡驱动

输入 pacman -S iw wpa_supplicant wireless_tools net-tools 安装网络工具

输入 pacman -S dialog 安装终端对话框

输入 pacman -S grub 安装引导程序

输入 grub-install –target=i386-pc /dev/sdb 安装BIOS引导

输入 blkid , 将 sdb2 的 UUID 记下来

这里 UUID 是 97b5e415-46ab-4e35-a804-6ddaez5793ac,每个分区的UUID应该都是不同的,下面具体根据自己的UUID来做修改,这是为了用 UUID 做标识来启动操作系统,否则换了电脑硬盘标签变化就不能启动了

输入 nano /boot/grub/grub.cfg , 修改grub配置文件

将所有出现的UUID全部改成 sdb2 的UUID,过程略复杂,谨慎修改,然后保存

输入 exit 退出新系统

输入 shutdown -h now 关闭 Installer 虚拟机

参考 新建虚拟机

选择安装源时,选 I will install the operating system later.

名称写成 Boot,或者可以自定义

选择磁盘时,选择 Use a physical disk(for advanced users)

然后选择 PhysicalDrive1,选择Use individual partitions

勾选前两个分区

如果发现分区信息不对,可以返回上一步,重新选择另一个PhysicalDrive,然后再试

点击 Power on this virtual machine 启动测试虚拟机

启动之后

这时候输入 用户名 root 和 passwd 设置的密码就可以登陆了

如果有USB的无线网卡,挂到虚拟机里,输入 wifi-menu 就可以选择无线网络了

输入 shutdown -h now 关闭测试虚拟机

如果关机之后,Windows 出现如下对话框,请点击 取消(Cancel)

编辑 Installer 虚拟机,点击 Edit virtual machine settings

在Options选项卡,Advanced选项右侧,将Firmware type 改为UEFI,

不要勾选 Enable Secure Boot

,然后保存

和前文一样

输入 grub-install –target=x86_64-efi –efi-directory=/boot/efi –removable 安装UEFI启动项

输入 shutdown -h now 关闭 Installer 虚拟机

和前文一样,修改 Boot 虚拟机的启动模式为 UEFI,

不要勾选 Enable Secure Boot

启动 Boot 虚拟机,这时应该可以启动了,然后关闭 Boot 虚拟机

很遗憾,目前为止,我还没有找到解决 Secure Boot 的方法,所以只能先关闭Secure Boot 再启动U盘中的 Archlinux。

网上所有我见过的解决Secure Boot的方法,都无法解决U盘移动后,磁盘信息可能会发生变化的情况,而且一般情况下不同计算机中的磁盘信息显然都是不同的。

经测试,Secure boot 安装在硬盘中是可以使用的,具体参考 安装ArchLinux到硬盘

如果BIOS(legacy)和UEFI两种启动方式,都可以启动,那么说明Archlinux已经安装成功。这时 Installer 虚拟机就失去了它的作用,可以删除了。

普通PC可以在开机的时候狂按 F2 、F12、Enter 来调整启动的顺序,理论上就可以进入了。

MAC 机器在开机的时候,按住option键,出现启动选项之后,选择 EFI boot 就可以了。

关于修复archlinux 引导的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 如何修复ArchLinux引导问题?30秒教你搞定! (修复archlinux 引导)