惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
T
Threat Research - Cisco Blogs
GbyAI
GbyAI
Y
Y Combinator Blog
美团技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 【当耐特】
S
SegmentFault 最新的问题
IT之家
IT之家
Recent Announcements
Recent Announcements
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
阮一峰的网络日志
阮一峰的网络日志
T
The Blog of Author Tim Ferriss
Martin Fowler
Martin Fowler
Microsoft Azure Blog
Microsoft Azure Blog
V
Visual Studio Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
U
Unit 42
WordPress大学
WordPress大学
博客园 - Franky
L
LangChain Blog
人人都是产品经理
人人都是产品经理
小众软件
小众软件
博客园 - 叶小钗
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
云风的 BLOG
云风的 BLOG
Vercel News
Vercel News
雷峰网
雷峰网
腾讯CDC
Google DeepMind News
Google DeepMind News
博客园 - 三生石上(FineUI控件)
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Help Net Security
Help Net Security
C
Check Point Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
N
News and Events Feed by Topic
V2EX - 技术
V2EX - 技术
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Schneier on Security
Schneier on Security
博客园 - 聂微东
A
Arctic Wolf
H
Heimdal Security Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Recent Commits to openclaw:main
Recent Commits to openclaw:main
T
The Exploit Database - CXSecurity.com
C
Cyber Attacks, Cyber Crime and Cyber Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Google DeepMind News
Google DeepMind News

纸鹿摸鱼处

北京实习300天 | 纸鹿摸鱼处 实习后买了一堆东西 | 纸鹿摸鱼处 谈谈不受欢迎的博客技术特征 | 纸鹿摸鱼处 我们的设备被拿来做了什么:软件的背景行为 | 纸鹿摸鱼处 生成式AI正在生成 | 纸鹿摸鱼处 前端字体二三事 | 纸鹿摸鱼处 深色模式开发的最佳实践 | 纸鹿摸鱼处 寻不回手工油糕 | 纸鹿摸鱼处 一些数码外设的评价和“捡垃圾”心得 | 纸鹿摸鱼处 朋友的 Vivado 和 Modelsim 装上了吗 | 纸鹿摸鱼处 迟到三月的年末博客杂谈:动力、文章和内容 | 纸鹿摸鱼处 VitePress 不完全优化指南 | 纸鹿摸鱼处 给电脑新手的笔记本开荒指南导读 | 纸鹿摸鱼处 再谈考试时钟:技术之外的思考 | 纸鹿摸鱼处 今日校园见闻:我已经出离高兴了 | 纸鹿摸鱼处 配置并差点运行不了 Java Applet | 纸鹿摸鱼处 Windows 上的开源软件入门 | 纸鹿摸鱼处 博客进化:从 Hexo 到 Nuxt Content | 纸鹿摸鱼处 祖母的90年代南昌差旅之险 | 纸鹿摸鱼处 Linux 下通过 Samba 共享文件夹 | 纸鹿摸鱼处 从“端口无法访问”到本地环境问题——朋友的博客踩坑记录 | 纸鹿摸鱼处 Windows 空间管理/清理指南 | 纸鹿摸鱼处 遭遇APP乱象:老人的「钱袋子」开线了 | 纸鹿摸鱼处 封面被 Linux QQ 官方用了,但是有一些小缺陷 | 纸鹿摸鱼处 Windows 终端体验优化指南 | 纸鹿摸鱼处 有问题,就要讲出来。 | 纸鹿摸鱼处 从 CSS 排序折腾到 Stylelint 和 pnpm | 纸鹿摸鱼处 使用 DOSBox 的多种方式 | 纸鹿摸鱼处 今日有「假」 | 纸鹿摸鱼处 把博客文章按年份放在子文件夹中了 | 纸鹿摸鱼处 写过的奇妙代码。 | 纸鹿摸鱼处 在延长今天和期待明天之间 | 纸鹿摸鱼处 今日无事,除了一些技术咨询 | 纸鹿摸鱼处 系统引导配置分享 | 纸鹿摸鱼处 病毒高占用CPU,三天杀俩 | 纸鹿摸鱼处 运营商又想多收话费了 | 纸鹿摸鱼处 电脑连接手机,手机给电脑传文件…… | 纸鹿摸鱼处 Moonlight 串流指南 | 纸鹿摸鱼处 SSH 免密登录 | 纸鹿摸鱼处 Termux 简单指南 | 纸鹿摸鱼处 Tailscale 不完全使用指南 | 纸鹿摸鱼处 Windows 安装指南 | 纸鹿摸鱼处 Arch Linux 易用性及美化 | 纸鹿摸鱼处 Arch Linux 初步配置 | 纸鹿摸鱼处 使用 ArchInstall 安装 Arch Linux | 纸鹿摸鱼处 VS Code 简单配置项 | 纸鹿摸鱼处 他修电脑又遇到了我 | 纸鹿摸鱼处 修监控 (授权转载) | 纸鹿摸鱼处 被大块落冰砸中的话—— | 纸鹿摸鱼处
Arch Linux 启动引导修复 | 纸鹿摸鱼处
纸鹿本鹿, hi@zhilu.cyou · 2024-04-01 · via 纸鹿摸鱼处

可以修复绝大多数 Arch Linux 无法启动的问题。

制作启动盘、进入并联网

参见 使用 ArchInstall 安装 Arch Linux 的“安装前准备”一节。

挂载分区、进入系统

  • 如果不了解你的硬盘分区,可以执行以下命令: #

    lsblk -f

  • 先挂载根目录所在的分区:
    • 非 BtrFS 分区 #

      mount /dev/[根分区] /mnt

    • 如果根分区使用 BtrFS,需要知道子卷名,如果没有子卷可以跳过此步
      • 可以通过先挂载 BtrFS,然后通过以下命令之一查看子卷名 #

        ls /mnt

        #

        btrfs subvolume list /[挂载点]

      • 随后解除 /mnt 的挂载并重新挂载对应的子卷 #

        umount /mnt

        #

        mount /dev/[根分区] -t btrfs -o subvol=[子卷名] /mnt

  • 随后挂载其他分区:
    • 挂载启动分区 #

      mount /dev/[启动分区] /mnt/boot

    • 查看先前的挂载方式,有助于你的回忆 #

      cat /mnt/etc/fstab

    • 如果回忆起有其他分区,请继续挂载
  • 可以将此时的挂载方式写入原系统: #

    genfstab -U /mnt > /mnt/etc/fstab

  • 随后就可以进入原系统了 #

    arch-chroot /mnt

修复一些可能导致无法进入的问题

  • 如果忘记 root 用户密码,可以执行以下命令: #

    passwd

  • 同时,还可以更新一下系统的软件包,说不定有用呢#

    pacman -Syyuu

    • 如果更新缓慢,可以换源
    #

    pacman -S reflector

    #

    reflector --verbose --country China --sort rate --save /etc/pacman.d/mirrorlist

    • 如果提醒无法锁定数据库,可以删除锁文件
    #

    rm /var/lib/pacman/db.lck

    • 如果提醒某文件已存在,可以强制覆盖
    #

    pacman -Syu --overwrite "*"

修复引导

  • 安装 Linux 包可以触发 mkinitcpio #

    pacman -S linux

  • 如果使用 systemd-boot,请执行以下命令 #

    bootctl install

    • 使用此命令检测 EFI 引导项和 Boot Loader 配置
    #

    bootctl list

    • 如果屏幕显示不全,可以使用交互模式,按 q 退出
    #

    bootctl

  • 如果使用 grub,请执行以下命令 #

    grub-install

    • 备用命令,也可以自行在网上搜索
    #

    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub

为 systemd-boot 添加引导项

如果 bootctl list 显示没有 Arch Linux,那么需要写入以下文件:

/boot/loader/entries/arch.confsh
title   Arch Linux (linux)
linux   /vmlinuz-linux
initrd  /intel-ucode.img
initrd  /initramfs-linux.img
options root=PARTUUID=692afe0d-e1d7-4e0f-970f-1ed04e0c07e9 zswap.enabled=0 rootflags=subvol=@ rw rootfstype=btrfs

请注意:

  1. PARTUUID 和 UUID 不同,lsblk -f 命令显示的是 UUID,你可以通过 lsblk -o+UUID,PARTUUID 发现两者的区别。
    • 查看 PARTUUID 并追加到文件中 #

      blkid -s PARTUUID -o value /dev/[根分区] >> /boot/loader/entries/arch.conf

    • 查看 UUID 并追加到文件中,需要 option 中使用 root=UUID=#

      blkid -s UUID -o value /dev/[根分区] >> /boot/loader/entries/arch.conf

  2. initrd 中需要添加对应 CPU 的微码,没有的话可以跳过。
  3. options 中设置合适的 rootfstyperootflags,有子卷时需要设置 rootflags=subvol=[子卷名]

重启

按 Ctrl+Alt+Delete 直接重启。

更规范的方式是输入 exit 或按 Ctrl+D 退出 chroot 环境,然后执行 reboot 命令重启。