手册:MIPS/安装/准备磁盘
块设备简介
块设备
让我们来好好看看Gentoo Linux以及普通Linux中有关磁盘方面的知识,包括块设备、分区和Linux文件系统。一旦磁盘的来龙去脉都了解了,我们将设置分区和文件系统以进行安装。
首先,让我们来看看块设备。SCSI和SATA磁盘以/dev/sda,/dev/sdb,/dev/sdc等形式被标注。在更先进的设备中,基于PCI Express的NVMe固态磁盘一般以/dev/nvme0n1,/dev/nvme0n2等形式被标注。
下表将帮助读者确定在系统中哪里可以找到块设备的类型:
设备类型 | 默认设备句柄 | 社论笔记和注意事项 |
---|---|---|
IDE,SATA,SAS,SCSI 或 USB 闪存 | /dev/sda | 从大约 2007 年到现在,这可能是 Linux 中最常用的设备句柄。这类设备可以连接在 SATA 总线,SCSI,USB 总线上作为块储存。例如,在第一个 SATA 设备的第一个分区称为 /dev/sda1。 |
NVM Express (NVMe) | /dev/nvme0n1 | NVMe设备是最新的固态技术,它连接在 PCI Express 总线,并且拥有市面上最快的传输速度。2014 年前后的系统可能会支持 NVMe 硬件。在第一个 NVMe 设备的第一个分区称为 /dev/nvme0n1p1。 |
MMC,eMMC 和 SD | /dev/mmcblk0 | 嵌入式 MMC 设备,SD 卡和其它类型的记忆卡 可以作为数据存储使用。也就是说,许多系统可能不允许从这些类型的设备启动。建议不使用这些设备用来安装 Linux,而是考虑用它们来传输文件,这也是它们主要的设计意图。另外,这种储存类型很适合用来做短期的文件备份和快照。 |
上面的块设备代表磁盘的抽象接口。用户程序可以使用这些块设备来与你的磁盘进行交互,而无需担心驱动器到底是 SATA,SCSI 还是其他什么东西。该程序可以把磁盘当作一系列连续的,可随机访问的 4096 字节块(4K)的存储。
Handbook:MIPS/Blocks/Disks/zh-cn
创建文件系统
在使用 SSD 或者 NVMe 驱动,请检查是否需要升级固件。特别是有些英特尔的 SSD(600p 和 6000p)需要升级固件来减少XFS I/O 使用模式导致的可能的数据损坏。问题位于固件层面而非 XFS 文件系统造成的。smartctl 组件可以检查型号和固件版本。
介绍
现在分区已经创建,该在上面设置文件系统了。下一章节中描述了 Linux 所支持的众多文件系统。知道使用哪一个文件系统的读者可以继续阅读为分区应用文件系统。剩下的人应该学习可用的文件系统……
文件系统
Linux 支持数十种文件系统,尽管其中许多只是为了特定目的而部署。在 mips 架构上只能找到某些稳定的文件系统 - 建议在为重要分区选择更具实验性的文件系统之前查阅文件系统及其支持状态。XFS 是推荐的全平台通用的文件系统。下面是一个不完全的文件系统列表:
- btrfs
- 下一代文件系统,提供许多高级功能,例如快照、通过校验和进行自我修复、透明压缩、子卷和集成 RAID。不能保证 5.4.y 之前的内核在生产中与 btrfs 一起使用是安全的,因为对严重问题的修复仅存在于 LTS 内核分支的最新版本中。文件系统损坏问题在较旧的内核分支上很常见,比如说启用压缩后,较旧的内核(比 5.4.y 小)更可能发生损坏。 RAID 5/6 和配额组在所有版本的 btrfs 上都不安全。
- ext4
- Ext4 是一个可靠的、通用的全平台文件系统,但是它缺乏诸如引用链接之类的现代化功能。
- f2fs
- Flash-Friendly File System 最初是由三星为与 NAND 闪存一起使用而创建的。截至 2016 年第二季度,这个文件系统仍然被认为是不成熟的,但在将 Gentoo 安装到 microSD 卡、USB 驱动器或其他基于闪存的存储设备上时,它是一个不错的选择。
- XFS
- 具有元数据日志的文件系统,具有强大的功能集并针对可扩展性进行了优化。 XFS 不断升级来支持现代化功能。 XFS 唯一的缺点是还不能缩减分区,不过这个问题正在解决中。XFS 特别支持反向链接和写入时复制(CoW),因为用户需要完成大量编译工作,所以对 Gentoo 系统很有用。推荐使用 XFS 这个现代化的通用全平台文件系统。XFS 要求分区至少300MB。
- VFAT
- 也称为 FAT32,Linux 支持但不支持标准的 UNIX 权限设置。它主要用于与其他操作系统(Microsoft Windows 或 Apple 的 macOS)的互操作和交换,但也是某些系统引导加载程序固件(如 UEFI)的必需品。UEFI 系统的用户需要使用 VFAT 格式化的 EFI 系统分区才能启动。
- NTFS
- 这个“新技术”文件系统是自 Windows NT 3.1 以来 Microsoft Windows 的旗舰文件系统。与 vfat 类似,它不存储 BSD 或 Linux 正常运行所需的 UNIX 权限设置或扩展属性,大多数情况下,不应将其用作为根文件系统。它应该仅用于与Microsoft Windows 系统的互操作和数据交换(注意强调仅)。
更多有关于文件系统的信息可以在社区维护的 文件系统文章 中找到。
为分区应用文件系统
安装结束后,请确保在重新启动之前,为之后在手册中选择的文件系统 emerge 相应的用户空间组件软件包。在接近安装尾声时您将看到另一个提醒。
在一个分区或卷上创建一个文件系统,这里有用于每一个可能的分区的工具。 单击下表中的文件系统名称,了解每个文件系统的更多信息:
文件系统 | 创建命令 | 是否包含在live环境中? | 软件包 |
---|---|---|---|
btrfs | mkfs.btrfs | 是 | sys-fs/btrfs-progs |
ext4 | mkfs.ext4 | 是 | sys-fs/e2fsprogs |
f2fs | mkfs.f2fs | 是 | sys-fs/f2fs-tools |
xfs | mkfs.xfs | 是 | sys-fs/xfsprogs |
vfat | mkfs.vfat | 是 | sys-fs/dosfstools |
NTFS | mkfs.ntfs | 是 | sys-fs/ntfs3g |
手册建议将新建分区作为安装过程的一部分,但值得在注意的是任何mkfs命令都会擦除分区上之前含有的任何数据。必要时,在创建文件系统之前应确保所有数据都被正确备份。
比如,在示例分区结构中,使用 xfs 的根分区(/dev/sda5),会使用下面的命令:
root #
mkfs.xfs /dev/sda5
EFI 系统分区文件系统
EFI 系统分区(/dev/sda1)必须是 FAT32 格式:
root #
mkfs.vfat -F 32 /dev/sda1
传统 BIOS 启动分区文件系统
通过带有 MBR/DOS 磁盘标签的传统 BIOS 启动的系统可使用引导加载程序支持的任何文件系统格式。
例如,XFS 格式:
root #
mkfs.xfs /dev/sda1
小型 ext4 分区
在较小的分区(少于8 GiB)上使用 ext4 时,则创建文件系统时应带适当的选项以保留足够的 inode。这可以使用-T small
选项:
root #
mkfs.ext4 -T small /dev/<device>
这样一般将是对于给定的文件系统inode数量的四倍,因为它的“字节每inode”从16kB每个减少到4kB每个。
激活 swap 分区
mkswap是用来初始化swap分区的命令:
root #
mkswap /dev/sda10
要激活swap分区,使用swapon:
root #
swapon /dev/sda10
由于交换分区是在实时环境中新创建的,所以才需要这一 “激活 ”步骤。系统重启后,只要交换分区在 fstab 或其他挂载机制中定义正确,交换空间就会自动激活。
挂载 root 分区
之前开始但并未完成的安装可以从手册的这个位置开始继续进行。使用此链接作为固定链接:从这里继续未完成的安装。
一些 live 环境可能缺少推荐的 Gentoo 根分区挂载点(/mnt/gentoo),或在分区部分创建的其他分区的挂载点:
root #
mkdir --parents /mnt/gentoo
仅对于 EFI 安装,ESP 应安装在根分区位置下:
root #
mkdir --parents /mnt/gentoo
使用 mkdir 命令继续为之前步骤中创建的其他(自定义)分区创建必要的挂载点。
创建挂载点后,现在可以通过mount命令使得分区可以访问。
挂载根分区:
root #
mount /dev/sda5 /mnt/gentoo
根据需要使用 mount 命令继续挂载其他(自定义)分区。
如果/tmp/需要放在一个独立分区,确保在挂载后变更它的权限:
root #
chmod 1777 /mnt/gentoo/tmp
在后面的介绍中,将挂载proc文件系统(一个内核的虚拟接口)和其它内核伪文件系统。不过首先必须提取 Gentoo stage 文件。