From 64567a748a24fd0de8f4042bdb944de20da59872 Mon Sep 17 00:00:00 2001 From: codefiles <11915375+codefiles@users.noreply.github.com> Date: Mon, 2 Mar 2026 20:21:31 -0500 Subject: [PATCH] Remove support for NTFS root file system (#4279) * Remove support for NTFS root file system * Fix rootfstype value --- PKGBUILD | 1 - archinstall/lib/disk/device_handler.py | 3 --- archinstall/lib/installer.py | 9 ++------- archinstall/lib/interactions/disk_conf.py | 4 ---- archinstall/lib/models/device.py | 10 ---------- 5 files changed, 2 insertions(+), 25 deletions(-) diff --git a/PKGBUILD b/PKGBUILD index bb4eabd9..cda10ca5 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -36,7 +36,6 @@ depends=( 'xfsprogs' 'lvm2' 'f2fs-tools' - 'ntfs-3g' 'libfido2' ) makedepends=( diff --git a/archinstall/lib/disk/device_handler.py b/archinstall/lib/disk/device_handler.py index 0a072e7a..98a10b79 100644 --- a/archinstall/lib/disk/device_handler.py +++ b/archinstall/lib/disk/device_handler.py @@ -253,9 +253,6 @@ class DeviceHandler: mkfs_type = 'fat' # Set FAT size options.extend(('-F', fs_type.value.removeprefix(mkfs_type))) - case FilesystemType.Ntfs: - # Skip zeroing and bad sector check - options.append('--fast') case FilesystemType.LinuxSwap: command = 'mkswap' case _: diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py index 79b1eb12..9e4da9dc 100644 --- a/archinstall/lib/installer.py +++ b/archinstall/lib/installer.py @@ -862,14 +862,9 @@ class Installer: self._base_packages.append(pkg) # https://github.com/archlinux/archinstall/issues/1837 - if fs_type.fs_type_mount == 'btrfs': + if fs_type == FilesystemType.Btrfs: self._disable_fstrim = True - # There is not yet an fsck tool for NTFS. If it's being used for the root filesystem, the hook should be removed. - if fs_type.fs_type_mount == 'ntfs3' and mountpoint == self.target: - if 'fsck' in self._hooks: - self._hooks.remove('fsck') - def _prepare_encrypt(self, before: str = 'filesystems') -> None: if self._disk_encryption.hsm_device: # Required by mkinitcpio to add support for fido2-device options @@ -1199,7 +1194,7 @@ class Installer: kernel_parameters.append('rw') - kernel_parameters.append(f'rootfstype={root.safe_fs_type.fs_type_mount}') + kernel_parameters.append(f'rootfstype={root.safe_fs_type.value}') kernel_parameters.extend(self._kernel_params) debug(f'kernel parameters: {" ".join(kernel_parameters)}') diff --git a/archinstall/lib/interactions/disk_conf.py b/archinstall/lib/interactions/disk_conf.py index d0276595..b9a5767e 100644 --- a/archinstall/lib/interactions/disk_conf.py +++ b/archinstall/lib/interactions/disk_conf.py @@ -1,6 +1,5 @@ from pathlib import Path -from archinstall.lib.args import arch_config_handler from archinstall.lib.disk.device_handler import device_handler from archinstall.lib.disk.partitioning_menu import manual_partitioning from archinstall.lib.menu.helpers import Confirmation, Notify, Selection, Table @@ -257,9 +256,6 @@ def select_main_filesystem_format() -> FilesystemType: MenuItem('f2fs', value=FilesystemType.F2fs), ] - if arch_config_handler.args.advanced: - items.append(MenuItem('ntfs', value=FilesystemType.Ntfs)) - group = MenuItemGroup(items, sort_items=False) result = Selection[FilesystemType]( group, diff --git a/archinstall/lib/models/device.py b/archinstall/lib/models/device.py index 9f1722a9..49853ff7 100644 --- a/archinstall/lib/models/device.py +++ b/archinstall/lib/models/device.py @@ -799,16 +799,6 @@ class FilesystemType(Enum): def is_crypto(self) -> bool: return self == FilesystemType.Crypto_luks - @property - def fs_type_mount(self) -> str: - match self: - case FilesystemType.Ntfs: - return 'ntfs3' - case FilesystemType.Fat32: - return 'vfat' - case _: - return self.value - @property def parted_value(self) -> str: return self.value + '(v1)' if self == FilesystemType.LinuxSwap else self.value