我有兴趣了解 Linux 如何处理单独的引导分区。我对实际执行此操作不感兴趣,但我想知道这是如何在幕后工作的。
考虑一个硬盘驱动器sda
,它有两个分区sda1
和sda2
. 假设这sda2
是包含 Linux 操作系统的root
分区/
。
我的理解是引导加载程序GRUB2
安装到/boot
. 但是,当目录/boot
位于单独的分区上sda2
时,如何在/
实际安装之前发生这种情况?
/boot
在这种情况下,BIOS、Master 引导记录和 GRUB(或文件)之间的交互如何成功发生?是/boot
不是/
在这个早期阶段中的数据实际上并未挂载到文件系统?
注意:这个问题涉及挂载根分区,但不讨论单独的引导分区。
根据字段拆分、双引号和for 循环的 POSIX 标准以及以下示例,我无法理解为什么echo "$s"
在数字之间使用双引号显示新行,而在数字之间使用双引号for x in "$s"
不显示新行. 有人可以澄清一下吗?
$ s=$(seq 1 4)
$ echo $s
1 2 3 4
$ echo "$s"
1
2
3
4
$ for x in $s; do echo $x; done
1
2
3
4
$ for x in "$s"; do echo $x; done
1 2 3 4
Run Code Online (Sandbox Code Playgroud)