答案1
不,Nitrux 不会使用整个分区:
为了使用 znx,你要做的第一件事就是初始化设备。 znx将擦除设备并在其上创建一个新的GPT分区表,有两个分区。这些分区之一存储引导加载程序数据,而另一个存储用户数据(包括图像)。然后,这些分区分别使用 FAT32 和 BTRFS 文件系统进行格式化。之后,znx 在两个分区上创建一些目录,并将一些文件复制到引导分区。一旦这些事情完成,设备就被认为已初始化。
此外...
镜像存放在data分区的/boot_images目录下。在该目录内,将创建与图像名称匹配的子目录层次结构。因此,例如,当您部署 your_distro/rolling 时,会在数据分区中创建目录 /boot_images/your_distro/rolling 。然后,图像将存储在该目录中。
Nitrux 推荐的 4G 不适合分割但对于整个设备;这个非常重要。znx
本质上接管整个磁盘,如上面第一个引用中所述。也许您可以让它与您的 200GB 分区一起使用,但这不是 znx 文档描述的方式。
你可以阅读 znx 中的细节维基百科。
答案2
注意:以下信息专门针对包含或支持 znx 的 ISO 映像,不适用于使用传统安装程序(例如 Calamares)的 ISO 文件。
我想查看 Nitrux,您可以使用 znx 进行部署(如何在此处)。
您可以通过不同的方式来解决这个问题。您可以使用整个磁盘或重复使用现有的根分区(只要文件系统是 Btrfs)。分区是否为空或已被后者使用并不重要。
假设您决定使用整个磁盘。在这种情况下,您可以下载 ISO,将其刷入 USB(不要刻录到光学介质),启动 Live USB,然后使用 znx 进行初始化和将发行版部署到内部或外部设备。国际标准化组织已经包括znx。
如果您决定重复使用现有分区,可以查看我们的教程“将 znx 与您现有的操作系统集成》详细步骤。此时,您需要下载znx。
但是,我要强调的是,您阅读了常问问题了解总体分配目标。有关 znx 的具体信息,您可以阅读我们博客上的这些文章。
由于您的计算机上已经安装了发行版,对于您的情况是 Fedora,您需要下载 znx AppImage 文件并按照集成教程。
我们将 znx 分发为应用程序图像,因此不涉及安装(即使用包管理器)。 Nitrux 也不涉及“安装”(在此上下文中正确的术语是部署;我们在常见问题解答中解释了差异)。
引用常问问题:
部署在我们的例子中,操作系统意味着您是复制将 ISO 文件作为单个文件保存到存储设备上,并使用 OverlayFS 而不是在存储设备上实现持久化提取其内容并在存储设备上创建标准目录树;这就是为什么我们更愿意说 Nitrux 不进行标准安装。
换句话说,Nitrux 进行了节俭安装(操作系统文件仅存储在目录中的几个文件中,而不是分布在驱动器分区上)。
“节俭的安装只占用分区中的一个文件夹,分区的其余部分可以用于其他任何事情。例如,其他 Linux 发行版。”同时,传统的Linux发行版会进行完整安装,“完整安装是Linux占据整个分区,在该分区中你会看到文件夹/bin、/sbin、/opt、/etc/、/sys、/proc、 /tmp、/dev、/usr、/run、/lib 等等。”
Ubiquity、Calamares (KPM Core)、Anaconda 等安装程序以及所有其他安装程序 [...] 将 SquashFS 文件的内容提取到 ISO 中,并将内容放置在存储设备的分区上。
这就是为什么我们不称 znx“安装”操作系统;而是称 znx“安装”操作系统。相反,我们使用“部署”一词。因为 znx 不会从 ISO 中提取 SquashFS 文件,所以它直接启动 ISO,并使用 OverlayFS 将数据保留在存储设备上。
下载AppImage后,您必须使其可执行;然后,您可以在终端中使用 执行AppImage sudo
。
sudo chmod +x znx.AppImage
- 或者,您可以将其移动到,
/usr/bin/
这样您就不必键入./
来执行 AppImage,并且可以在任何地方使用它。
sudo mv znx.AppImage /usr/bin/znx
了解 znx 是一个 CLI 程序很重要;它没有图形界面因此单击 AppImage 文件不会打开窗口。
- 一旦它成为可执行文件,您就可以用来
sudo znx --help
显示帮助。 - 您需要使用正确的语法输入 znx 的命令和参数,如帮助中的示例所示。
Usage: znx [options] <command> [command_args]
Options:
-h, --help Print this help.
-v, --version Print the commit hash that generated this binary.
-d, --debug Enable debugging messages.
-y, --no-confirm Autoconfirm dangerous operations.
Conventions:
<device>:
A block device file name. e.g.: /dev/sdxN, /dev/sdb.
<image>:
Must match the regular expression: '^\w+/\w+$'. This means that letters, numbers and underscores
are allowed on both sides of a slash. No other characters are allowed.
<origin>:
Can be a URL or a path pointing to an ISO image, or a directory path. The latter may be useful
for deploying images from within a live session.
Commands:
init <device> Initialize <device>.
fix-esp <device> Restore the ESP (EFI System Partition) of <device>.
deploy [-k] <device> <image> <origin> Deploy <image> on <device> from <origin>.
The '-k' flag serves to bypass SSL certificate checking.
rename <device> <old_name> <new_name> Rename image <old_name> to <new_name>.
update <device> <image> Update <image>.
check-update <device> <image> Check if an update for <image> is available.
rollback <device> <image> Revert an update.
reset <device> <image> Delete all user data on <image>.
clean <device> <image> Remove the backup that is created during an update.
remove <device> <image> Remove <image> and all associated data from <device>.
status <device> <image> Show information about <image>.
list <device> List the deployed images on <device>.
集成教程的要点如下。
您需要下载并解压 znx AppImage。
您需要在 Fedora 中安装包含该文件的软件包,
/usr/lib/grub/x86_64-efi/btrfs.mod
即grub2-efi-x64-modules
.您需要创建或删除该目录的内容
/boot/efi/boot/grub
。您需要将文件
grub.cfg
和目录themes
从 AppImage 复制到/boot/efi/boot/grub
.您需要将该目录重命名
/boot/efi/EFI/BOOT
为/boot/efi/EFI/boot
并删除其内容。您需要将文件
bootx64.efi
从 AppImage 复制到/boot/efi/EFI/boot
.您需要添加 EFI 引导项(不是 GRUB 引导项)来加载 znx 引导加载程序文件。
- 替换
/dev/sdx
为您的 ESP 分区的设备(例如/dev/sdc
)。efibootmgr -c -d /dev/sdx -p 1 -L "znx" -l "\EFI\boot\bootx64.efi"
- 替换
您需要更改 ESP 和根分区的分区标签。您可以从终端或使用 GParted (或类似的)来执行此操作。
- 替换
/dev/sdxN
为您的分区(例如/dev/sdc1
)。fatlabel /dev/sdxN ZNX_BOOT
btrfs filesystem label /dev/sdxN ZNX_DATA
- 替换
你可以部署ISO 并测试 znx 的功能。 znx支持本地和远程文件,我们将使用远程文件。
- 替换
/dev/sdx
为设备与您的根分区(例如/dev/sdc
)。 [deployment_name]
可以是字母数字字符的任意组合,即 abc/123、ABC/123、123/ABC、1A2B/3C4D 等。请确保不要使用空格或连字符。
- 替换
sudo znx /dev/sdx [deployment_name] http://updates.nxos.org/nitrux-OTA-latest-amd64.iso
正如教程中提到的,要启动到使用 znx 部署的 ISO,您必须使用 EFI 启动菜单不是GRUB 菜单。了解其中的差异非常重要。
另一方面,请按照以下步骤操作使用整个磁盘。
- 无论您选择将 ISO 闪存到 USB 还是从另一个发行版(无论是否安装)运行 znx 并想要使用另一个磁盘,步骤都是相同的。
首先,初始化设备。这将擦除设备因为 znx 将创建一个新的分区表和分区。在本例中,此任务的命令语法为znx [command] [path_to_target_device]
。
- 更换
/dev/sdx
为设备(例如/dev/sda
)。- 注意:SATA 和 USB 存储设备命名为
/dev/sdx
,NVME 设备命名为/dev/nvmeXnY
,其中 X 是端口,Y 是设备。
- 注意:SATA 和 USB 存储设备命名为
sudo znx init /dev/sdx
然后,继续部署 Nitrux。在本例中,此任务的命令语法为znx [command] [path_to_target_device] [deployment_name] [path_to_file]
。 znx 支持本地和远程文件。我们将使用远程文件。
[deployment_name]
可以是字母数字字符的任意组合,即 abc/123、ABC/123、123/ABC、1A2B/3C4D 等。请确保不要使用空格或连字符。
sudo znx deploy /dev/sdx nitrux/release http://updates.nxos.org/nitrux-OTA-latest-amd64.iso
就是这样。重新启动并选择要启动到 Nitrux 的驱动器。