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