如何引用 nvmeXnYpZ 分区?

如何引用 nvmeXnYpZ 分区?

我正在尝试按照手册在我的 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系统,所以我可能会在术语等方面犯下真正的错误。对此我提前表示歉意。

编辑:lsblk输出 lsblk 输出

编辑2:nvme0n1p3根据分区表gdisk gdisk分区表

编辑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将表写入磁盘,否则这是不可能的(因为磁盘已满)

相关内容