制作系统盘
🥀 落红不是无情物,化作春泥更护花
Section titled “🥀 落红不是无情物,化作春泥更护花”本节介绍在 archlinux 下如何制作系统安装盘(启动盘)以及用来维护的 archlinux 内存系统盘(也就是将 archlinux 安装到 U 盘里)
Ventoy(推荐)
Section titled “Ventoy(推荐)”Ventoycn / aur 是一个制作可启动 U 盘的开源工具。
Ventoy 有诸多优点:
- 无需反复地格式化 U 盘,只需要把 ISO / WIM / IMG / VHD(x) / EFI 等类型的文件拷贝到 U 盘里面就可以启动了,无需其它操作
- 可以一次性拷贝多个不同类型的镜像文件,Ventoy 会在启动时显示一个菜单来供用户进行选择
- 同一个 U 盘可以同时支持 x86 Legacy BIOS、IA32 UEFI、x86_64 UEFI、ARM64 UEFI 和 MIPS64EL UEFI 模式
Ventoy 支持 大部分常见类型的操作系统。
安装 Ventoy:
sudo pacman -S ventoy-bin
yay -S aur/ventoy-bin
-
制作 Ventoy U 盘:
Terminal window lsblk # 分辨要安装 Ventoy 的 U 盘sudo ventoy -i -g -r size /dev/sdx # 按提示操作即可sudo ventoy -l # 显示 U 盘中的 Ventoy 相关信息📑 命令参数说明:
-i
—— 安装 Ventoy 到 U 盘中(如果对应磁盘已经安装了 Ventoy 则会返回失败)-g
—— 使用 GPT 分区格式,默认是 MBR 格式-r
—— 在 U 盘最后保留部分空间(可选,可以分区并格式化后使用):size
—— 空间大小(单位是 MB)
-
拷贝镜像文件到镜像分区(卷标为
Ventoy
):Terminal window lsblk # 分辨镜像分区sudo mount /dev/sdxn /mnt/mount_point # 挂载镜像分区sudo cp /path/of/some_os.iso /mnt/mount_pointls -hl /mnt/mount_point # 复查一下
自此,一个支持多系统的安装盘便制作完成了。
-
打开 Ventoy 基于浏览器的图形化操作界面:
Terminal window sudo ventoyweb -
使用浏览器访问提示的本地端口即可:
-
按照界面提示完成操作即可,在终端按下
Ctrl
+C
即可退出
balenaEtcher
Section titled “balenaEtcher”balenaEtcheraur 界面更加傻瓜一点。但是只支持对单个完整 U 盘进行制作,即使还有剩余的空间也无法使用。
1.安装 balenaEtcher:
yay -S etcher-bin
yay -S etcher-git
2.打开 balenaEtcher,按提示操作即可:
dd
命令用于读取、转换并输出数据。
使用 dd
命令即可简单的制作 Linux 的安装盘。注意 of
的参数为 sdx
,不是 sdx1
、sdx2
等:
sudo dd bs=4M if=/path/of/some_os.iso of=/dev/sdx status=progress oflag=sync
📑 命令参数说明:
bs=4M
—— 指定一个较为合理的文件输入输出块大小status=progress
—— 用来输出刻录过程总的信息oflag=sync
—— 用来控制写入数据时的行为特征。确保命令结束时数据及元数据真正写入磁盘,而不是刚写入缓存就返回
win10 / win11 安装盘
Section titled “win10 / win11 安装盘”以往在 Linux 下手动制作一个 win10 / win11 安装盘还是很简单的,但是随着近几年微软的更新,其 iso 安装镜像中存在一个名为install.wim
的文件,其大小已经超出了 4GB(fat32 要求的单个文件最大 4GB)的限制。这使得必须用额外的步骤才能制作一个启动盘。
这里依旧使用 fat32 格式是因为其兼容性是最好的,NTFS 的 UEFI 安装盘很多情况下不被识别。
-
首先用
parted
命令创建 U 盘的分区:Terminal window sudo parted /dev/sdx # 执行 parted,进行磁盘类型变更(parted) mktable # 输入 mktable新的磁盘卷标类型? gpt # 输入 gpt,将磁盘类型转换为 GPT 类型。如磁盘有数据会警告,输入 Yes 即可(parted) quit # 退出 parted 命令行交互 -
接下来类似 7-1. 分区,用
cfdisk
命令创建新分区。在Type
中选择Microsoft 基本数据
:Terminal window sudo cfdisk /dev/sdx -
接下来使用
mkfs.vfat
命令格式化所创建的分区,这样 U 盘就准备好了:Terminal window sudo mkfs.vfat /dev/sdxn -
接下来下载 win10 / win11 的 iso 镜像并解压。由于 Ark 尚不支持 UDF 文件系统的 ISO 文件,我们需要手动挂载并将其中的内容复制出来:
Terminal window sudo mount -o loop /path/of/windows_iso_name.iso /mnt/mount_pointcp -a /mnt/mount_point /path/of/some_folder -
得到复制出来的文件后,最后要进行的就是压缩
install.wim
文件(在sources
文件夹下)。这里需要首先安装一个包wimlib
(可能已经作为依赖安装了):Terminal window sudo pacman -S wimlib -
接下来进行压缩。这一步会持续较长时间,耐心等待。完成后可以看到文件已经被压缩到了 3.x GB:
Terminal window cd /path/of/some_folder/sourcessudo wimlib-imagex optimize install.wim --solidls -hl install.wim -
最后把全部文件复制到 U 盘中即可:
Terminal window sudo umount /mnt/mount_point # 卸载掉镜像sudo mount /dev/sdxn /mnt/mount_point # 挂载 U 盘sudo cp -r /path/of/some_folder/* /mnt/media # 复制全部文件 -
复查一下并卸载 U 盘:
Terminal window ls -hl /mnt/mount_point # 复查一下sudo umount /mnt/mount_point # 卸载 U 盘
自此,一个 win10 / win11 安装盘便制作完成了。
制作 archlinux 内存系统盘
Section titled “制作 archlinux 内存系统盘”🔗 相关链接:
如有需要可参阅 ArchWiki 相关内容。
Archisoextra / aur 是自动化制作最新版 archlinux 镜像的工具集,可用于制作定制化的 archlinux 镜像。
1. 准备工作
Section titled “1. 准备工作”- 首先安装 Archiso 相关包:
sudo pacman -S archiso
yay -S archiso-git
-
复制
releng
配置方案到合适位置:Terminal window sudo cp -r /usr/share/archiso/configs/releng /path/of/some_folder/archlinux_livecd /path/of/some_folder/archlinux_live # 进入目录
2. 进行定制
Section titled “2. 进行定制”首先了解下各个文件的用途:
packages.x86_64
—— 一份要安装在 Live 系统镜像的软件包列表,一行一个pacman.conf
—— Pacman 的配置文件airootfs
—— Live 系统的 rootfs(根文件系统,遵循 rootfs 的目录规则)。除了安装的包之外,其它的定制(包括启动执行脚本等)都在这里efiboot
/syslinux
—— 用于设置 BIOS / EFI 启动的配置
-
编辑
pacman.conf
配置文件:Terminal window sudo vim /path/of/some_folder/archlinux_live/pacman.conf在文档结尾处加入下面的文字,来添加
archlinuxcn
源。推荐的镜像源(选一个即可)也一并列出:[archlinuxcn]Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch # 中国科学技术大学开源镜像站Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch # 清华大学开源软件镜像站Server = https://mirrors.hit.edu.cn/archlinuxcn/$arch # 哈尔滨工业大学开源镜像站Server = https://repo.huaweicloud.com/archlinuxcn/$arch # 华为开源镜像站去掉
[multilib]
一节中两行的注释,来开启 32 位库支持: -
然后修改
packages.x86_64
:Terminal window sudo vim packages.x86_64在文档结尾处加入
archlinuxcn-keyring
和其它需要预安装的包(根据喜好自定义):Terminal window # customarchlinuxcn-keyringhtop # 系统监控与进程管理软件(top 的升级版)bashtop # 系统监控与进程管理软件(top 的豪华升级版)iftop # 流量监控工具iotop # 磁盘 I/O 监控工具ipmitool # 用于管理和配置,支持智能平台管理接口(IPMI)1.5 版和 2.0 版规范的设备的实用程序(给运维用的)fastfetch # 打印系统信息plasma-metakonsoledolphinntfs-3gpartitionmanager # KDE 分区管理器adobe-source-han-serif-cn-fontswqy-zenheinoto-fontsnoto-fonts-cjknoto-fonts-emojinoto-fonts-extrafirefoxarkgwenviewyaytimeshiftmesalib32-mesavulkan-intellib32-vulkan-intelcowsay -
可选向镜像里添加文件:
airootfs
—— 看作是 Live 系统上的 ’/’ 根目录,在此中存放文件将覆盖或复制到对应的位置airootfs/etc/skel
—— 在 root 用户主目录里放置文件的方法有些许不同。不要把它们放在airootfs/home
,而是放置在此处
以
/root/.zshrc
为例:Terminal window sudo mkdir /path/of/some_folder/archlinux_live/airootfs/etc/skelsudo vim /path/of/some_folder/archlinux_live/airootfs/etc/skel/.zshrc添加以下内容:
Terminal window echo 'archlinux 简明指南' | cowsay🔗 相关链接
Section titled “🔗 相关链接”如有需要可参阅 ArchWiki 相关内容。
-
配置登录管理器:
-
启用登录管理器的 systemd 服务来做到在引导时启动 X:
Terminal window sudo ln -s /usr/lib/systemd/system/sddm.service /path/of/some_folder/archlinux_live/airootfs/etc/systemd/system/display-manager.service -
为了让图形环境在启动过程中自动启动,创建并编辑
airootfs/root/customize_airootfs.sh
:Terminal window sudo vim /path/of/some_folder/archlinux_live/airootfs/root/customize_airootfs.sh添加以下内容:
Terminal window systemctl set-default graphical.target
-
3. 开始制作
Section titled “3. 开始制作”-
创建工作目录和输出目录:
Terminal window sudo mkdir -p /mnt/work /mnt/out -
开始制作镜像文件:
Terminal window sudo mkarchiso -v -w /mnt/work -o /mnt/out /path/to/profile/ -
根据前述方法 Ventoy(推荐)、balenaEtcher 或 dd 命令 将镜像制作为 archlinux 内存系统盘即可
📔 本节参考资料:
- 制作 Arch Linux 内存系统启动盘(知识共享署名-相同方式共享 4.0 国际许可协议)