我正在尝试按照手册(https://nixos.org/manual/nixos/stable/index.html#sec-installation-partitioning-formatting)在我的 MacBook 上安装 NixOS,但我被困在分区/格式化阶段。在我为 NixOS(通过磁盘工具创建的 MS-DOS 分区)使用的磁盘上创建必要的分区后parted
,我需要将它们初始化为 ext4 分区和交换分区。为了做到这一点,我需要参考它们。
问题是我的 NixOS 磁盘被称为/dev/nvme0n1p3
(p1 和 p2 分别是 ESP 和 OS X 驱动器),我无法访问需要初始化的分区的引用名称;gdisk
正确显示它们,但lsblk
不将它们视为设备。
有没有办法查看如何引用这些“子子子分区”?
PS:我是一个完全的新手,这是我第一次安装Linux系统,所以我可以在术语等方面犯下真正的错误。我提前为此道歉。
编辑 3:所以我试图看看fdisk
会显示什么,并将这些分区标记为 nvme0n1p3p1、nvme0n1p3p2 和 nvme0n1p3p3。从技术上讲,这个问题已经解决了,但是现在我不能对这些分区做任何事情,因为所有涉及它们的命令都会导致“没有这样的文件或目录”错误。
您根本没有在
swap
这里创建分区。子分区根本不存在
ext*
(您可能会遇到类似ZFS
或Btrfs
不存在的子分区ext4
)。除非您的内存量非常低,否则您根本不需要
swap
分区并且可以安全地跳过该步骤除非您已经用它重新分区了磁盘并且从未w将表写入磁盘,否则这是不可能的(因为这里的磁盘已满)
您通常不应该制作嵌套分区表。您似乎在 nvme0n1p3 上创建了一个嵌套分区表,但由于固件和 Linux 内核通常都不会在那里查找它,因此它没有任何效果(除了可能损坏您的 nvme0n1p3 分区的开头和结尾)。
您的
fdisk
/gdisk
或任何其他分区命令应指向 NVMe 磁盘的整个磁盘设备,这就是/dev/nvme0n1
您的情况。该n1
部分是命名空间标识符,仅与大型企业 NVMe 存储系统相关:基本上所有消费级 NVMe 磁盘都只有一个命名空间。虽然
/dev/nvme0
作为设备存在,但它不会是块设备:它是一个字符设备,允许访问 NVMe控制器以实现某些管理功能。(安装nvme
命令行工具并运行man nvme
以获取更多详细信息。)