This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
手册:X86/安装/准备磁盘
X86 Handbook |
---|
安装 |
关于安装 |
选择安装媒介 |
配置网络 |
准备磁盘 |
安装stage3 |
安装基本系统 |
配置Linux内核 |
配置系统 |
安装系统工具 |
配置系统引导程序Bootloader |
收尾安装工作 |
使用Gentoo |
Portage介绍 |
USE标记 |
Portage功能特性 |
初始化脚本(Initscript)系统 |
环境变量 |
使用Portage |
文件和目录 |
变量 |
混合使用不同的软件分支 |
额外的工具 |
定制Portage树 |
高级特性 |
网络配置 |
入门 |
高级配置 |
模块化网络 |
无线 |
添加功能 |
动态管理 |
块设备简介
块设备
让我们来好好看看Gentoo Linux以及普通Linux中有关磁盘方面的知识,包括Linux文件系统,分区和块设备。一旦磁盘和文件的来龙去脉都了解了,我们将设置分区和文件系统的安装Gentoo Linux。
首先,让我们来看看块设备。最著名的块设备可能是代表Linux系统第一块磁盘的/dev/sda。SCSI和SATA磁盘全标为/dev/sd*;甚至IDE磁盘在libata内核框架下也标为/dev/sd*。当使用老设备框架时,第一个IDE磁盘是/dev/hda。
上面的块设备代表的抽象接口的磁盘。用户程序可以使用这些块设备来与你的磁盘进行交互,而无需担心驱动器到底是IDE,SCSI还是其他什么东西。该程序可以把磁盘当作一系列连续的,可随机访问的512字节块的存储。
分区表
虽然理论上可以用一整块磁盘来安装一个Linux系统(比如当创建一个btrfs RAID时),但是实践中几乎从不这样做。实际上,一块磁盘可以被分成小一些的、更容易管理的块设备。在x86系统里,这被称为分区。有两个标准的分区技术可以被使用:MBR和GPT。
MBR
主引导记录MBR (Master Boot Record)对分区的起始扇区和长度使用32比特的标识符,它支持三种分区类型:主分区、扩展分区和逻辑分区。主分区把它们的信息存储在主引导记录里一个非常小的空间里,通常是512字节,因为这个空间太小了,所以系统只支持四个主分区。(例如从 /dev/sda1 到/dev/sda4)
为了支持更多的分区,其中一个主分区可以被标识成扩展分区,然后这个分区就可以包含逻辑分区了(分区里的分区)。
Although still supported by most motherboard manufacturers partition tables are considered legacy. Unless working with hardware that is pre-2010, it best to partition a disk using a GUID Partition Table. Readers who must proceed with MBR should acknowledge the following information:
- Most post-2010 motherboards consider MBR a legacy (supported, but not ideal) boot mode.
- Due to using 32-bit identifiers, master boot record partitioning tables cannot handle disks that are greater than 2 TiBs in size.
- Unless a extended partition is created, MBR supports a maximum of four partitions.
- The MBR setup does not provide any backup-MBR, so if an application or user overwrites the MBR, all partition information is lost.
手册作者建议读者安装Gentoo时尽可能使用 GPT 。
GPT
GPT(GUID Partition Table)为分区使用64比特标识符,它用来存储分区信息的空间也远比MBR的512字节要大,GPT磁盘它也不对分区的数量作限制。分区的大小限制可以达到8ZiB。 译者注:
- 1ZiB = 1,024 EiB
- 1EiB = 1024 PiB
- 1PiB = 1024 TiB
- 1TiB = 1024 GiB
- 1GiB = 1024 MiB
- 1MiB = 1024 KiB
- 1KiB = 1024 B
当操作系统和系统固件之间的软件接口是UEFI (相对于BIOS)时,GPT几乎是必选的,因为这里MBR会引起很多兼容性问题。
GPT还利用校验和和冗余。 它携带CRC32校验和以检测报头和分区表中的错误,并在磁盘的末尾有一个备份GPT。 此备份表可用于恢复磁盘开头附近主GPT的损坏。
GPT还是MBR
依据上面的描述,人们大概会认为使用GPT应该总是被推荐的方法,尽管还有一些注意事项。
在一台基于BIOS的计算机上使用GPT虽然是能够工作的,但是那样你就不能与微软的Windows操作系统进行双重引导了,原因是微软的Windows如果检测到一个GPT分区标签,它就会以UEFI模式进行引导。
一些存在bug的BIOS或者配置成以BIOS/CSM/legacy模式进行引导的EFI也对从GPT标签的磁盘进行引导支持不好。如果您也碰到了这种情况,有一个可能的凑合办法:在被保护的MBR分区上加上boot/active标志,您可以使用带有 -t dos
选项的fdisk 命令强制它使用MBR格式读取分区表。
在这个例子中,我们用 fdisk 并敲击 a键来切换分区的(是否是活动的)标记。敲击 1键来选择第一个分区,然后敲击w键来将所作改动写入磁盘,最后退出 fdisk这个程序。
user $
fdisk -t dos /dev/sda
Welcome to fdisk (util-linux 2.24.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): a Partition number (1-4): 1 Command (m for help): w
使用UEFI
当在一个使用了UEFI(替代BIOS)进行引导作业的系统上安装Gentoo时,很重要的一点是一个EFI的系统分区 (ESP)需要被创建。 分区工具parted的简介如下:
EFI系统分区也需要是一个FAT32分区(在Linux系统里也被称为“vfat”)。见UEFI specification 。这一章节末尾的指导中以“ext2”分区格式为例作为了/boot/ 的文件系统。请确保EFI分区使用“vfat”,就像这样:
root #
mkfs.fat -F 32 /dev/sda2
如果引导分区(ESP)没有使用FAT32(vfat)文件系统,系统的UEFI固件很可能将无法找到引导或Linux内核来启动系统!
高级存储
Btrfs RAID
如上所述,btrfs具有跨多个设备创建文件系统的能力。 以这种方式生成的Btrfs文件系统可以采用以下模式:raid0,raid1,raid10,raid5和raid6。 RAID模式5和6已显着改进,但仍被认为不稳定。 创建多设备文件系统后,可以使用几个命令添加新设备并删除旧设备。 Btrfs比其他文件系统有更多交互,对于初学者不那么友好。
ext4文件系统可以转换成btrfs文件系统,这对于那些想要安装Gentoo并使用一个稳定的,良好测试的文件系统,并增加他们关于新的文件系统的知识,如btrfs。通过这个实验可能是有用的。
LVM
x86 安装CD提供对逻辑卷管理器(LVM)的支持。 LVM增加了分区设置提供的灵活性。 下面的安装说明将集中在“常规”分区,但是很好的知道LVM是支持的,如果该路由是所需的。 有关详细信息,请参阅LVM文章。 新手注意:完全支持LVM不在本指南的范围之内。
默认分区方案
一直到这份指南的末尾,下面的分区方案将被使用。
分区 | 文件系统 | 大小 | 描述 |
---|---|---|---|
/dev/sda1 | (bootloader) | 2M | BIOS boot partition |
/dev/sda2 | ext2 (or fat32 if UEFI is being used) | 128M | Boot/EFI system partition |
/dev/sda3 | (swap) | 512M or higher | Swap partition |
/dev/sda4 | ext4 | Rest of the disk | Root partition |
如果这足够了,读者转到GPT分区,他们可以立即跳转到Default: Using parted to partition the disk。 那些仍然对MBR感兴趣(嘿 - 有!)和使用示例布局可以跳转到Alternative: Using fdisk to partition the disk.。
fdisk 和parted 都是分区实用程序。 fdisk是众所周知的,稳定的,并且推荐用于MBR分区布局,而parted 是支持GPT分区的第一个Linux块设备管理实用程序之一。 喜欢fdisk的用户界面的用户可以使用 gdisk (GPT fdisk)作为parted的替代。
在进行创建分区的指导之前,关于分区方案和常见陷阱我们会先介绍更多的细节。
设计一个分区方案
多少个分区以及多大?
分区的数量是高度依赖于环境。比如,如果有很多个用户,则建议有一个独立的/home/,以增强安全性及便于备份。如果要安装的Gentoo是用来做邮件服务器,则/var/应该独立,因为所有的邮件都储存于/var/。选择一个正确的文件系统将会获得最大化的性能。游戏服务器应该有一个独立的/opt/,因为大多数游戏服务器都安装在那里。原因也和/home/目录一样:安全和备份。在大多数场景下,应该保持/usr/大一些:不仅是因为它包含多数的应用程序,它通常还托管Gentoo ebuild存储库(默认情况下位于/usr/portage),占用大约650 MB的空间。这个磁盘空间估计值不包括通常存储在这个ebuild存储库中的packages/和 distfiles/目录。
它非常依赖于管理员想用它来做什么。独立分区或卷有以下的优势:
- 为每个分区或者卷选择性能最好的文件系统。
- 当一个失控的工具持续向一个分区或卷写文件时,也不至于让整个系统由于无可用空间而无法运行。
- 如果有必要,可以简化文件系统检查,多个检查可以并行的完成(其实在这一点上,有多个磁盘比多个分区更有优势)。
- 可以通过在挂载一些分区或卷时使用只读、
nosuid
(忽略setuid属性)、noexec
(忽略可执行属性)等来增加安全性。
不过,多个分区同样也有劣势。如果不能合理的配置,系统可能会在一个分区上有很多空闲空间,而其他分区却没有空间。另外一个麻烦是独立的分区——尤其是像/usr/或/var/这样的重要挂载点——经常需要管理员在引导时通过一个initramfs来在其他引导脚本启动前挂载这些分区。在不同的情况下,结果也可能不同。
另外对于SCSI和SATA还有一个最多15分区的限制,除非使用GPT标签。
那么swap空间呢?
对于swap空间,没有一个完美值。swap空间的目的是当内存(RAM)有压力时为内核提供磁盘存储。一个swap空间允许内核将看过来稍后不会被访问的内存页面移动到磁盘(swap或者page-out)、施放内存。当然,如果那块内存突然要使用到,需要花一些时间(相比较内存,硬盘是非常慢的)将这些页面需要放回到内存中(page-in)。
如果系统不运行很需要内存的应用程序或系统有足够多的可能内存,则不需要太多的swap空间。不过,swap空间还用来在休眠时储存整个内存。如果一个系统需要休眠,则必须需要大一点的swap空间,通常至少为系统安装的内存数量。
什么是BIOS引导分区?
BIOS引导分区是一个非常小的分区(1到2MB),引导器软件如GRUB2可以将不适于存放在引导扇区(MBR中只有几百个字节)里并且不能存放在其它位置的额外数据存放于此。
这种分区并不总是需要的,但是考虑到低地址空间消耗以及记录大量不同的分区的难度,我们建议最好还是创建一个。
为完整起见,在PC/BIOS模式下将GRT分区方案与GRUB2一起使用时,需要BIOS启动分区。 在EFI/UEFI模式下引导时不需要它。
默认:使用parted对磁盘进行分区
在这一章里,之前提到的分区方案范例将被使用:
Partition | Description |
---|---|
/dev/sda1 | BIOS boot partition |
/dev/sda2 | Boot partition |
/dev/sda3 | Swap partition |
/dev/sda4 | Root partition |
您可以根据您的实际需要调整您的分区方案。
使用parted查看当前分区布局
这个parted应用为磁盘分区提供了一个简单的接口,而且它支持很大的分区空间(超过2TB)。用 parted 来搞磁盘吧(在我们的例子中,它是/dev/sda)。我们建议您让parted 来优化分区对齐:
root #
parted -a optimal /dev/sda
GNU Parted 2.3 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands.
对齐意思就是分区在磁盘上开始于一个众所周知的边界,从而确保操作系统层面(从磁盘获取页面)使用最少的磁盘内部开销。没有对齐的分区可能需要磁盘去抓取两个页面而不是一个,即使操作系统只请求了一个页面。
要了解parted支持的所有选项,敲 help 然后回车。
设置GPT标签
大部分x86或amd64架构的磁盘是以“msdos”标签被准备出来的。如果使用 parted,在磁盘上设置一个GPT标签的命令为mklabel gpt:
改变分区类型将会移除磁盘上的所有分区,磁盘上的所有数据也将丢失。
(parted)
mklabel gpt
为了让磁盘使用MBR分区布局,使用 mklabel msdos命令。
使用parted移除全部分区
如果这一步(之前用过 mklabel 操作或磁盘本来就是崭新的),首先请移除磁盘上所有已经存在的分区。输入print命令可以查看当前的分区信息,rm <N> 中N
是需要移除的分区号码。
(parted)
rm 2
对其它不需要的分区采取同样的操作。但是在这里请确保不要犯任何错误,因为parted是立即执行改变的,这一点不像fdisk是分步操作,允许用户在保存或者退出fdisk时可以"undo"。
创建分区
用parted 命令和下列设置创建分区
- 要使用的分区类型。通常是“Primary”。如果您用的是msdos分区标签,请注意最多只有4个主(Primary)分区能够被使用。如果您需要使用多于4个分区,请使用其中的一个主分区将其转换为扩展分区以便在其中创建足够使用的逻辑分区。
- 分区的开始位置(可以被表示为MB, GB, ...)
- 分区的结束位置(可以被表示为MB, GB, ...)
首先,要告诉parted我们工作要使用的容量单位是megabytes(实际上是mebibytes,其标准缩写符号是MiB,但是我们会通篇使用MB因为它用得更普遍一些)
(parted)
unit mib
现在我们创建一个2MB的分区,它后面将被GRUB2引导器使用。使用mkpart 完成这个操作,并且通知 parted 从1MB开始到3MB结束(创建一个大小为2MB的分区)。
(parted)
mkpart primary 1 3
(parted)
name 1 grub
(parted)
set 1 bios_grub on
(parted)
print
Model: Virtio Block Device (virtblk) Disk /dev/sda: 20480MiB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 1.00MiB 3.00MiB 2.00MiB grub bios_grub
同样地创建引导分区(128MB),交换分区(在这个例子中是512MB)和使用了剩下所有磁盘空间根分区(结束位置被标记为-1,意味着磁盘尾部减去1MB,那里是分区最远能够所达之处)
(parted)
mkpart primary 3 131
(parted)
name 2 boot
(parted)
mkpart primary 131 643
(parted)
name 3 swap
(parted)
mkpart primary 643 -1
(parted)
name 4 rootfs
当使用UEFI接口来引导系统时(取代BIOS),要将引导分区标识为EFI系统分区。当“boot”选项在这个分区被设置时,Parted可以自动完成此事。
(parted)
set 2 boot on
分区结果看起来就像下面这样:
(parted)
print
Model: Virtio Block Device (virtblk) Disk /dev/sda: 20480MiB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 1.00MiB 3.00MiB 2.00MiB grub bios_grub 2 3.00MiB 131MiB 128MiB boot boot 3 131MiB 643MiB 512MiB swap 4 643MiB 20479MiB 19836MiB rootfs
在UEFI安装时,引导标志将出现在引导分区(ESP)。
使用 quit 命令退出parted。
备选:使用fdisk对磁盘进行分区
虽然最近的fdisk 应该也支持GPT, 但它仍然有一些问题。下面给出的指导假定我们的分区方案使用的是MBR。
下面的部分解释了怎样使用fdisk来创建范例分区布局,范例分区布局我们在前面已经提到过了。
Partition | Description |
---|---|
/dev/sda1 | BIOS boot partition |
/dev/sda2 | Boot partition |
/dev/sda3 | Swap partition |
/dev/sda4 | Root partition |
请您根据自己的实际需要来调整您的分区布局。
查看当前分区布局
fdisk是一个流行的和强大的分区工具。用fdisk向磁盘开火吧!(在我们的例子里,我们使用/dev/sda):
root #
fdisk /dev/sda
如要支持GPT,需要增加
-t gpt
选项。建议您一定要仔细研究fdisk的输出,因为最近的 fdisk开发改变了它的以MBR作为缺省设置的行为。后面的指南假定我们使用的是MBR布局。使用 p 键来显示磁盘当前的分区配置。
Command (m for help):
p
Disk /dev/sda: 240 heads, 63 sectors, 2184 cylinders Units = cylinders of 15120 * 512 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 14 105808+ 83 Linux /dev/sda2 15 49 264600 82 Linux swap /dev/sda3 50 70 158760 83 Linux /dev/sda4 71 2184 15981840 5 Extended /dev/sda5 71 209 1050808+ 83 Linux /dev/sda6 210 348 1050808+ 83 Linux /dev/sda7 349 626 2101648+ 83 Linux /dev/sda8 627 904 2101648+ 83 Linux /dev/sda9 905 2184 9676768+ 83 Linux
这块特定的磁盘被配置为容纳了7个Linux文件系统(每一个文件系统各对应于一个被标识为“Linux”的分区)以及一个交换分区(被标识为“Linux swap”)
使用fdisk移除全部分区
首先从这个磁盘移除所有现存的分区。按 d来删除一个分区。例如删除一个已经存在的 /dev/sda1:
Command (m for help):
d
Partition number (1-4): 1
这个分区已经计划被删除了,当您用p键打印分区清单时它将不会被显示了,但此时它还未被实际删除,直到改变被真正保存。这将允许用户在操作错误后中止——此时,输入q并按Enter可以立即防止分区被删除。
重复敲击 p来打印分区清单,然后敲击 d键和分区号码来删除它。最终,分区表将变得空空如也。
Command (m for help):
p
Disk /dev/sda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System
现在在内存中的分区表已经空了,我们是时候来创建分区了。
创建BIOS引导分区
首先创建一个很小的BIOS引导分区。敲击 n 键来创建一个新分区,然后敲击p 键来选择是主分区类型,后面跟一个1 键来选择是第一个主分区。当提示“first sector”选项时,请确保它开始于2048(这是引导器所必须的)然后敲Enter键。当提示“last sector”时,键入+2M来创建一个大小为2Mbyte的分区。
开始于2048扇区是一个容错机制,当引导器无法检测这个分区为可用时尽量保持功能正常。
Command (m for help):
n
Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First sector (64-10486533532, default 64): 2048 Last sector, +sectors +size{M,K,G} (4096-10486533532, default 10486533532): +2M
构造分区用于UEFI:
Command (m for help):
t
Selected partition 1 Hex code (type L to list codes): 4 Changed system type of partition 1 to 4 (BIOS boot)
不鼓励对MBR分区布局使用UEFI,如果系统具有UEFI功能,请使用GPT分区布局。
创建引导分区
首先创建一个很小的BIOS引导分区。敲击 n 键来创建一个新分区,然后敲击p 键来选择是主分区类型,后面跟一个2 键来选择是第二个主分区。当提示“first sector”选项时,敲回车以接受默认值。当提示“last sector”时,键入+128M来创建一个大小为128Mbyte的分区。
Command (m for help):
n
Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First sector (5198-10486533532, default 5198): (Hit enter) Last sector, +sectors +size{M,K,G} (4096-10486533532, default 10486533532): +128M
现在,当敲击 p键时,下面的分区信息将被显示:
Command (m for help):
p
Disk /dev/sda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/sda1 1 3 5198+ ef EFI (FAT-12/16/32) /dev/sda2 3 14 105808+ 83 Linux
敲击 a 键来切换一个分区是否为可引导的标记,然后敲击 2。之后再一次敲 p键,您可以发现一个“*”被放置于相应分区的“boot”列。
创建swap分区
为了创建交换分区,敲击 n 来创建一个新分区,然后是 p 键来告诉fdisk要创建一个主分区。然后敲击 3 来创建第三个分区,/dev/sda3。当提示输入“ the first sector”时,敲击 Enter键。当提示输入“the last sector”时,键入+512M(或者按需给交换分区分配任意容量)来创建一个512MB大小的分区。
这些做完之后,敲击 t来设置分区类型, 3来选择刚刚创建的这个分区,然后敲击“82”设置分区类型为“Linux Swap”。
创建根分区
最后创建根分区,敲击 n来创建一个新分区,然后敲击 p 告诉l fdisk 要创建一个主分区。然后敲击 4 来创建第四个主分区 /dev/sda4。当提示输入“the first sector”时,敲击Enter。当提示输入“the last sector”时,敲击Enter来创建一个占用了所有剩余磁盘空间的分区。完成这些步之后,敲击 p ,会显示一张类似于下面的分区表:
Command (m for help):
p
Disk /dev/sda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/sda1 1 3 5198+ ef EFI (FAT-12/16/32) /dev/sda2 * 3 14 105808+ 83 Linux /dev/sda3 15 81 506520 82 Linux swap /dev/sda4 82 3876 28690200 83 Linux
保存分区布局
要保存分区布局并退出 fdisk,请敲击 w。
Command (m for help):
w
当分区创建完成后,就该在其上部署文件系统了。
创建文件系统
介绍
现在分区已经创建,该在上面设置文件系统了。下一章节中描述了Linux所支持的众多文件系统。知道使用哪一个文件系统的读者可以继续阅读为分区应用文件系统。剩下的人应该学习可用的文件系统……
文件系统
有一些可以使用的文件系统。有些在x86架构上稳定——建议在选择为一个重要分区实验性的选择文件系统前继续阅读。
- btrfs
- 是下一代文件系统,提供了许多高级功能,如快照,通过校验和自我修复、 透明压缩、 子卷和集成 RAID。几个发行版已经开始将它作为一个默认的选项,但它还未为生产工作做好准备。文件系统报告崩溃是常见的。其开发人员敦促人们运行最新的内核版本来解决安全问题,以及老的问题。 这种情况已经很多年了,现在使用它还为时过早。如果出现变更,以及发生了变化,解决错误问题,都很少往旧内核注入补丁。请谨慎使用这个文件系统!
- ext2
- 是经考验证明可靠的Linux文件系统,但是没有元数据日志,这意味这在启动系统时的ext2文件系统的日常检查相当耗时。现在相当一部分的新一代的日志文件系统都可以非常迅速检查一致性,因此比那些非日志文件系统更受欢迎。当你启动系统碰巧遇到文件系统状态不一致时,日志文件系统不会在那里耽搁很长时间。
- ext3
- 是ext2文件系统的带日志版本,提供了元数据日志模式以快速恢复数据。此外还提供了其他增强的日志模式,如完整数据日志模式和有序数据日志模式。它使用了HTree索引,在几乎所有的情况下都能保持高性能。简而言之,ext3是非常好及可靠的文件系统。
- ext4
- 最初创建为ext3的一个分支,EXT4带来了新的功能,性能改进和去除中度更改磁盘格式大小限制。它可以跨越体积高达1的EB并用16 TB最大文件大小。取而代之的是经典的ext2/3位块分配的ext4的使用范围,这对提高大文件的性能,并减少碎片。的Ext4还提供了更为复杂的块分配算法(延迟分配和多嵌段分配)给文件系统驱动更多的方式来优化数据的布局在磁盘上。 EXT4是推荐的通用所有平台的文件系统。
- f2fs
- 这个文件系统最初由三星创建用于NAND闪存,是一种闪存文件系统 从直到2016年第二季度起,这个文件系统仍然被认为不成熟。把Gentoo安装到microSD卡,USB驱动器或其他基于闪存的存储设备时使用它是一个不错的选择。
- JFS
- 是IBM的高性能日志文件系统。JFS是一个轻量级的、快速的和稳定的基于B+树的文件系统,在很多情况下都有很好的表现。
- ReiserFS
- 是基于B+树的文件系统,它有着非常全面的性能,特别时在处理很多小文件的时候,虽然会占用多一点CPU。ReiserFS相比其他文件系统显得受维护的不够。
- XFS
- 是一种带元数据日志的文件系统,它有一个健壮的特性集,并且对可伸缩性进行了优化。XFS似乎对各种各样的硬件问题显得不够宽容。
- vfat
- 也称为FAT32,被支持Linux,但不支持任何权限设置。它主要用于互操作性与其他操作系统(主要是微软的Windows),但也是很有必要的一些系统固件(如UEFI)的支持。
- NTFS
- 这个“新技术”的文件系统是Microsoft Windows的旗舰文件系统。 与上面的vfat类似,它不存储BSD或Linux正常工作所需的权限设置或扩展属性,因此它不能用作根文件系统。 它应该'只'用于与Microsoft Windows系统的互操作性(注意只强调)。
当在一个小的分区(少于8GB)上使用ext2、ext3或ext4,则创建文件系统时必须带适当的选项以保留足够的inode。mke2fs(mkfs.ext2)应用程序使用“字节每inode”设置来计算一个文件系统应该用多少个inode。在小分区,建议增加计算出的inode数量。
对于ext2,可以使用下面的命令来完成:
root #
mkfs.ext2 -T small /dev/<device>
对于ext3或ext4,添加-j
选项来启用日志:
root #
mkfs.ext2 -j -T small /dev/<device>
这一般将是对于给定的文件系统inode数量的四倍,它的“字节每inode”从16kB每个减少到4kB每个。这个可以在将来通过提供比例进行调整:
root #
mkfs.ext2 -i <ratio> /dev/<device>
为分区应用文件系统
在一个分区或卷上创建一个文件系统,这里有用于每一个可能的分区的工具。 单击下表中的文件系统名称,了解每个文件系统的更多信息:
文件系统 | 创建命令 | 在最小化CD? | 包 |
---|---|---|---|
btrfs | mkfs.btrfs | Yes | sys-fs/btrfs-progs |
ext2 | mkfs.ext2 | Yes | sys-fs/e2fsprogs |
ext3 | mkfs.ext3 | Yes | sys-fs/e2fsprogs |
ext4 | mkfs.ext4 | Yes | sys-fs/e2fsprogs |
f2fs | mkfs.f2fs | Yes | sys-fs/f2fs-tools |
jfs | mkfs.jfs | Yes | sys-fs/jfsutils |
reiserfs | mkfs.reiserfs | Yes | sys-fs/reiserfsprogs |
xfs | mkfs.xfs | Yes | sys-fs/xfsprogs |
vfat | mkfs.vfat | Yes | sys-fs/dosfstools |
NTFS | mkfs.ntfs | Yes | sys-fs/ntfs3g |
比如,在示例分区结构中,有 使用ext2的引导分区(/dev/sda2)和使用ext4的根分区(/dev/sda4),下面的命令将会用到:
root #
mkfs.ext2 /dev/sda2
root #
mkfs.ext4 /dev/sda4
现在在新创建的分区(或逻辑卷)上创建文件系统。
激活swap分区
mkswap是用来初始化swap分区的命令:
root #
mkswap /dev/sda3
要激活swap分区,使用swapon:
root #
swapon /dev/sda3
使用上面提到的命令创建和激活swap。
挂载 root 分区
现在分区都已初始化并有文件系统,接下来该挂载那些分区了。使用mount命令,但是不要忘记为每一个创建的分区创建需要的挂载目录。比如示例中我们挂载根分区:
root #
mount /dev/sda4 /mnt/gentoo
如果/tmp/需要放在一个独立分区,确保在挂载后变更它的权限:
root #
chmod 1777 /mnt/gentoo/tmp
后面的介绍中将挂载proc文件系统(一个内核的虚拟接口)和其它内核伪文件系统。不过我们首先安装Gentoo安装文件。