929 字
5 分钟
在 NTFS 分区上安装 Endeavouros Linux
2025-12-11
统计加载中...

本指南将引导您完成在 NTFS 文件系统上安装 Endeavouros Linux 的全过程。这需要使用一个新的内核模块 ntfsplus,并对安装程序 (Calamares) 和新安装的系统进行一系列修补。

准备工作#

在开始之前,请确保您已经准备好以下环境:

  • 一个 Endeavouros Linux 或其他arch发行版的 Live 环境(例如 CachyOS)。
  • 网络连接,以便下载软件包和驱动源码。
  • 目标硬盘已准备好用于安装的分区。

第一阶段:在 Live 环境中准备安装程序#

在这一阶段,我们将在 Live USB 环境中安装 ntfsplus 驱动,并修补 Calamares 安装程序,使其能够识别和处理 NTFS 分区。

1. 安装 ntfsplus 内核模块#

首先,需要安装 gitdkms 工具,然后从 GitHub 克隆并安装 ntfsplus-dkms-git 模块。

Terminal window
# 更新软件包列表并安装依赖
sudo pacman -Syu --noconfirm git dkms
# 克隆 ntfsplus 仓库
git clone https://github.com/lateautumn233/ntfsplus-dkms
cd ntfsplus-dkms
# 编译并安装模块
makepkg -si --noconfirm

2. 修补 Calamares 安装程序#

为了让 Calamares 能够将系统安装到 NTFS 分区,需要修改其 mountfstab 模块。

  • 修补 /usr/lib/calamares/modules/mount/main.py 这个补丁的目的是让挂载模块支持 ntfsplus 文件系统。您需要使用文本编辑器(如 nanovim)打开文件并进行修改。

    Terminal window
    sudo nano /usr/lib/calamares/modules/mount/main.py

    修改参考: 根据此补丁,找到相关代码行,将 ntfsplus 添加到支持的文件系统列表中。

  • 修补 /usr/lib/calamares/modules/fstab/main.py 同样,修补 fstab 模块,使其能为 ntfsplus 根分区生成正确的 /etc/fstab 条目。

    Terminal window
    sudo nano /usr/lib/calamares/modules/fstab/main.py

    修改参考: 根据此补丁,修改代码以确保在生成 fstab 时正确处理 ntfsplus 文件系统类型。

3. 运行 Calamares 进行安装#

完成上述准备工作后,您现在可以启动 Calamares 安装程序,并像往常一样进行安装。在分区阶段,您应该能够选择一个 NTFS 分区作为根 (/) 文件系统。


第二阶段:在新安装的系统中配置 ntfsplus#

安装完成后,不要立即重启。我们需要进入新安装的系统(chroot 环境)进行一些关键配置,以确保系统能够从 NTFS 分区成功启动。

1. 挂载新系统并进入 Chroot 环境#

将您刚刚安装的根分区和引导分区挂载到 Live 环境中。

Terminal window
# 假设 /dev/sda2 是您的根分区,/dev/sda1 是您的 EFI/boot 分区
# 请根据您的实际情况替换 sda?
sudo mount -t ntfsplus /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot
# 进入 chroot 环境
sudo arch-chroot /mnt
# 如果进入chroot后 /boot 没有挂载请新开一个终端重新挂载

2. 安装 ntfsplus 内核模块#

在 chroot 环境中,重复第一阶段中安装 ntfsplus 模块的步骤:

Terminal window
# 安装依赖
pacman -Syu --noconfirm git dkms
# 克隆 ntfsplus 仓库
git clone https://github.com/lateautumn233/ntfsplus-dkms
cd ntfsplus-dkms
makepkg -si --noconfirm

3. 在 Initrd 中预加载 ntfsplus 模块#

为了让内核在启动早期就能读取 NTFS 根分区,需要强制 dracutntfsplus 模块包含在初始 RAM 磁盘 (initrd) 中。

Terminal window
# 创建 dracut 配置文件
echo 'force_drivers+="ntfsplus"' | sudo tee /etc/dracut.conf.d/ntfsplus.conf
# 重新生成 initrd
sudo dracut-rebuild

4. 更新 GRUB 内核启动参数#

最后,修改 GRUB 引导程序的配置,明确告诉内核根文件系统的类型是 ntfsplus

Terminal window
# 使用 sed 命令自动在内核参数末尾添加 rootfstype=ntfsplus
sudo sed -i '/^GRUB_CMDLINE_LINUX_DEFAULT=/s/"$/ rootfstype=ntfsplus"/' /etc/default/grub
# 重新生成 GRUB 配置文件
sudo grub-mkconfig -o /boot/grub/grub.cfg

完成#

所有步骤完成后,您就可以退出 chroot 环境,卸载分区并重启电脑了。

Terminal window
exit
sudo umount -R /mnt
reboot

您的系统现在应该能够成功地从 NTFS 分区启动。


参考链接#

在 NTFS 分区上安装 Endeavouros Linux
https://blog.akr-dev.com/posts/installarchonntfs/
作者
秋秋
发布于
2025-12-11
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时