arch Linux安装至U盘(兼容UEFI和BIOS启动)


前言

最近看到别人拿了一个U盘随插随用arch Linux 觉得属实好玩,于是乎,自己也想安装一个来玩玩,记录过程,以便后续自己重装系统需要
主要是为了多兼容各个系统
参考

1.Install Arch Linux on a removable medium (简体中文)
2.Multiboot USB drive
3.Installation guide (简体中文)

archLinux的官网wiki真是个学习知识的好地方


准备

  • 一台安装了arch Linux的设备(安了arch Linux的U盘或者电脑)
  • 一个空闲U盘(我的 32G)
  • 电脑一个
  • 手机和充电线(以便后续用USB共享网络给arch Linux联网)

1.U盘分区(混合兼容UEFI和BIOS启动)

首先需要先仔细检查一下你的U盘设备名字是什么

fdisk -l

然后我们来进行分区,一共需要三个区

1.A BIOS boot partition (gdisk type code EF02). This partition must be 1 MiB in size
2.An EFI System partition (gdisk type code EF00 with a FAT32 filesystem). This partition can be as small as 50 MiB. 建议大一点 到512M
3.Your data partition (use a filesystem supported by GRUB). This partition can take up the rest of the space of your drive.
在这里插入图片描述

gdisk /dev/sdX #X是自己U盘设备

进入后输入p 打印现有分区
进入后输入指令 d + 现有分区序号删除现有分区,重复至没有分区
n 添加分区
1 EF02(BIOS Boot) 起始位置默认 结束位置:+1M
2 EF00(EFI System partition) 起始位置默认 结束位置: +512M
3 8304(Linux x86-64 root) 起始位置默认 结束位置默认
w 保存并退出

注意: disk和gdisk的区别

  • gdisk可以对2T以上的磁盘进行操作,fdisk不行
  • fdisk只能用于MBR分区,gdisk可以用于GPT分区

2.创建MBR分区表

gdisk /dev/sdX

Command (? for help): r
Recovery/transformation command (? for help): h

WARNING! Hybrid MBRs are flaky and dangerous! If you decide not to use one,
just hit the Enter key at the below prompt and your MBR partition table will
be untouched.

Type from one to three GPT partition numbers, separated by spaces, to be added to the hybrid MBR, in sequence: 1 2 3
Place EFI GPT (0xEE) partition first in MBR (good for GRUB)? (Y/N): N

Creating entry for GPT partition #1 (MBR partition #1)
Enter an MBR hex code (default EF): 
Set the bootable flag? (Y/N): N

Creating entry for GPT partition #2 (MBR partition #2)
Enter an MBR hex code (default EF): 
Set the bootable flag? (Y/N): N

Creating entry for GPT partition #3 (MBR partition #3)
Enter an MBR hex code (default 83): 
Set the bootable flag? (Y/N): Y

Recovery/transformation command (? for help): x
Expert command (? for help): h
Expert command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): Y

3. 将分区的文件类型修改

总地来说,不带日志(journal)功能的 ext4 是比较通用的优选方案。可以用这样的命令来创建:
# mkfs.ext4 -O "^has_journal" /dev/sdXX。因为带日志功能的文件系统日志更新会在一定程度上消耗闪存有限的写入寿命。由于同样的原因,最好放弃 swap 分区。注意这个建议并不适用于安装在 USB(机械)硬盘的情况。

mkfs.fat -F32 /dev/sdX2
mkfs.ext4 /dev/sdX3  #带日志功能
mkfs.ext4 -O "^has_journal" /dev/sdX3 #不带日志的sdX3

4.挂载U盘文件

mount /dev/sdX3 /mnt
mkdir -p /mnt/boot/EFI
mount /dev/sdX2 /mnt/boot/EFI

这样就能对U盘内的文件进行处理了


5.设置U盘grub

EFI启动

grub-install --target=x86_64-efi --recheck --removable --efi-directory=/EFI_MOUNTPOINT --boot-directory=/DATA_MOUNTPOINT/boot

BIOS启动

grub-install --target=i386-pc --recheck --boot-directory=/DATA_MOUNTPOINT/boot /dev/sdX

6.设置镜像源

文件 /etc/pacman.d/mirrorlist 定义了软件包会从哪个镜像源下载。在 LiveCD 启动的系统上,在连接到因特网后,reflector 会通过选择 20 个最新同步的 HTTPS 镜像并按下载速率对其进行排序来更新镜像列表。

在列表中越前的镜像在下载软件包时有越高的优先权。您或许想检查一下文件,看看是否满意。如果不满意,可以相应的修改 /etc/pacman.d/mirrorlist 文件,并将地理位置最近的镜像源挪到文件的头部,同时也应该考虑一些其他标准。

这个文件接下来还会被 pacstrap 拷贝到新系统里,所以请确保设置正确。
注拉过去的U盘会和之前的U盘的镜像一致


7.将Linux和其他软件拉到U盘上

Networkmanager很重要

pacstrap /mnt base linux linux-firmware sof-firmware vim vi networkmanager grub

指令后面可以继续加你需要的软件包


8.配置系统

用以下命令生成 fstab 文件 (用 -U 或 -L 选项设置 UUID 或卷标):

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

强烈建议在执行完以上命令后,检查一下生成的 /mnt/etc/fstab 文件是否正确。

cat /mnt/etc/fstab #自己检查一下文件是否符合你的设备

9.Chroot(切换到新U盘上的arch Linux系统)

Change root 到新安装的系统:

arch-chroot /mnt

10.安装微指令

U盘上必须要安装Intel和amd的微指令

pacman -S intel-ucode
pacman -S amd-ucode

11.初始化grub

grub-mkconfig -o /boot/grub/grub.cfg

12.时区

设置为时区:

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

然后运行 hwclock(8) 以生成 /etc/adjtime:

hwclock --systohc

13.本地化

程序和库如果需要本地化文本,都依赖区域设置,后者明确规定了地域、货币、时区日期的格式、字符排列方式和其他本地化标准。

需在这两个文件设置:locale.gen 与 locale.conf。

pacman -S perl #补充vim需要的软件包
vim  /etc/locale.gen
或者
vi /etc/locale.gen

然后取消掉 en_US.UTF-8 UTF-8 和其他需要的 区域设置 前的注释(#)。

接着执行 locale-gen 以生成 locale 信息:

locale-gen

然后创建 locale.conf文件,并编辑设定 LANG 变量,比如:

vim locale.conf

加入以下信息

/etc/locale.conf
LANG=en_US.UTF-8

14.网络配置

vim /etc/hostname
输入:myhostname

15.root密码

passwd

16.解除挂载后重启

exit #退出挂载的系统
umount -R /mnt #解除挂载
reboot

17.联网

重启后用USB共享网络后查看能否ping通

ping baidu.com

若ping不通

systemctl start NetworkManager
systemctl enable NetworkManager

重新ping一遍


后续

后续就可以安装图形化界面啦
目前我在使用xorg+gnome+gdm安装,但是在我的thinkbook14+ 核显款上面会导致一动鼠标就花屏,屏幕闪烁,正在寻找解决方案,有点头大

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暮尘依旧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值