Difference between revisions of "Parted (简体中文)"

From ArchWiki
Jump to: navigation, search
m (Fengchao moved page GParted (简体中文) to Parted (简体中文): Move as English page.)
(Merge from GNU Parted.)
Line 13: Line 13:
  
 
[http://gparted.sourceforge.net/index.php GParted] 是 GNU Parted 的 GTK+ 前端,也是 GNOME 官方指定的分区编辑程序。它可以建立/删除/更改/检查几乎[http://gparted.sourceforge.net/features.php 所有文件格式]的分分区,还可以管理驱动器盘符、参数和复制/粘贴整个分区。GParted 收录于 [extra] 库,还有 [http://gparted.sourceforge.net/download.php Live CD] 版本。若要调整平常无法卸载的根文件系统所在分区,需要下载 Live CD.
 
[http://gparted.sourceforge.net/index.php GParted] 是 GNU Parted 的 GTK+ 前端,也是 GNOME 官方指定的分区编辑程序。它可以建立/删除/更改/检查几乎[http://gparted.sourceforge.net/features.php 所有文件格式]的分分区,还可以管理驱动器盘符、参数和复制/粘贴整个分区。GParted 收录于 [extra] 库,还有 [http://gparted.sourceforge.net/download.php Live CD] 版本。若要调整平常无法卸载的根文件系统所在分区,需要下载 Live CD.
 
  
 
{{警告|GParted 可以读写您的硬盘分区,因此若使用不慎会导致数据丢失。建议您在使用 GParted 之前先备份会受到影响的分区。}}
 
{{警告|GParted 可以读写您的硬盘分区,因此若使用不慎会导致数据丢失。建议您在使用 GParted 之前先备份会受到影响的分区。}}
Line 19: Line 18:
 
== 安装到 Arch ==
 
== 安装到 Arch ==
  
从[[官方源]][[pacman|安装]] {{Pkg|gparted}} .
+
从[[官方源]][[pacman|安装]] 软件包 {{Pkg|parted}}, 要使用图像界面,安装 {{Pkg|gparted}}
  
 
=== 可选依赖 ===
 
=== 可选依赖 ===
Line 120: Line 119:
  
 
./configure --enable-online-resize --enable-libparted-dmraid
 
./configure --enable-online-resize --enable-libparted-dmraid
 +
 +
== Partitioning ==
 +
 +
=== 创建新分区表 ===
 +
 +
如果设备没有分区,或者要改变分区表类型,重建分区结构,需要新建分区表。
 +
 +
打开需要新建分区表的设备:
 +
 +
# parted /dev/sd''x''
 +
 +
为 BIOS 系统创建 MBR/msdos 分区表:
 +
 +
(parted) mklabel msdos
 +
 +
为 UEFI 系统创建 GPT 分区表:
 +
 +
(parted) mklabel gpt
 +
 +
=== 分区方案 ===
 +
 +
您可以决定磁盘应该分为多少个区,每个分区又挂载在系统的哪个目录。将分区如何映射至目录(一般称此为挂载点),取决于您的[[Partitioning_(简体中文)#.E5.88.86.E5.8C.BA.E6.96.B9.E6.A1.88|分区方案]]。需要满足:
 +
 +
* 至少需要创建一个 {{ic|/}} (''root'') 目录,有些分区类型和 [[Boot loaders (简体中文)|启动加载器]]组合有额外的分区要求:
 +
* BIOS/GPT + [[GRUB]]: 需要按照 [[GRUB#GUID Partition Table (GPT) specific instructions|BIOS 启动分区设置]] 的方式创建一个 1M 或 2M 的 {{ic|EF02}} 类型分区.
 +
* UEFI 的主板,需要一个 [[Unified Extensible Firmware Interface#EFI System Partition|EFI 系统分区]]{{Broken section link}}.
 +
* 如果您需要[[Disk_encryption|加密磁盘]],则必须加以调整分区方案。系统安装后,也可以再配置加密文件夹,容器或 home 目录。
 +
 +
系统需要需要 {{ic|/boot}}、{{ic|/home}} 等目录, [[Arch filesystem hierarchy|Arch 文件系统架构]] 有各目录的详细介绍。如果没有创建单独的{{ic|/boot}} 或 {{ic|/home}} 分区,这些目录直接放到了根分区下面。后面会介绍如何创建 [[swap space|交换分区]]。
 +
 +
In the examples below it is assumed that a new and contiguous partitioning scheme is applied to a single device. Some optional partitions will also be created for the {{ic|/boot}} and {{ic|/home}} directories: see also [[Arch filesystem hierarchy]] for an explanation of the purpose of the various directories; if separate partitions for directories like {{ic|/boot}} or {{ic|/home}} are not created, these will simply be contained in the {{ic|/}} partition. Also the creation of an optional partiton for [[swap space]] will be illustrated.
 +
 +
用下面命令打开 parted 交互模式:
 +
 +
# parted /dev/sd''x''
 +
 +
用下面命令创建分区:
 +
 +
(parted) mkpart ''part-type'' ''fs-type'' ''start'' ''end''
 +
 +
* {{ic|''part-type''}} 是分区类型,可以选择 {{ic|primary}}, {{ic|extended}} 或 {{ic|logical}},仅用于 MBR 分区表.
 +
* {{ic|''fs-type''}} 是文件系统类型,支持的类型列表可以通过 {{ic|help mkpart}} 查看。 mkpart 并不会实际创建文件系统, {{ic|''fs-type''}} 参数仅是让 ''parted'' 设置一个 1-byte 编码,让启动管理器可以提前知道分区中有什么格式的数据。参阅 [[Wikipedia:Disk partitioning#PC partition types]].
 +
: {{Tip|Most [[Wikipedia:File_system#Linux|Linux native file systems]] map to the same partition code ([[Wikipedia:Partition type#PID_83h|0x83]]), so it is perfectly safe to e.g. use {{ic|ext2}} for an ''ext4''-formatted partition.}}
 +
* {{ic|''start''}} 是分区的起始位置,可以带[http://www.gnu.org/software/parted/manual/parted.html#unit 单位], 例如 {{ic|1M}} 指 1MiB.
 +
* {{ic|''end''}} 是设备的结束位置('''不是''' 与 {{ic|''start''}} 值的差),同样可以带单位,也可以用百分比,例如 {{ic|100%}} 表示到设备的末尾。
 +
* 为了不留空隙,分区的开始和结束应该首尾相连。
 +
 +
{{Warning|It is important that the partitions do not overlap each other: if you do not want to leave unused space in the device, make sure that each partition starts where the previous one ends.}}
 +
 +
如果看到下面警告:
 +
 +
Warning: The resulting partition is not properly aligned for best performance.
 +
Ignore/Cancel?
 +
 +
表示分区没 [[Partitioning (简体中文)#分区对齐|对齐]],请按照 [[#分区对齐|分区对齐]] 进行修正。
 +
 +
下面命令设置 {{ic|/boot}} 为启动目录:
 +
 +
(parted) set ''partition'' boot on
 +
 +
* {{ic|''partition''}} 是分区的编号,从 {{ic|print}} 命令获取。
 +
 +
==== UEFI/GPT 示例 ====
 +
 +
首先需要一个 [[Unified Extensible Firmware Interface#EFI System Partition|EFI 系统分区]]{{Broken section link}}.如果是和 Windows 双系统启动,此分区已经存在,不要重新创建。
 +
 +
用下面命令创建分区 (建议大小是 512MiB)。
 +
 +
(parted) mkpart ESP fat32 1M 513M
 +
(parted) set 1 boot on
 +
 +
剩下的空间可以按需要创建,root 占用全部 100% 剩余空间:
 +
 +
(parted) mkpart primary ext4 513M 100%
 +
 +
{{ic|/}} (20GiB),剩下的给 {{ic|/home}}:
 +
 +
(parted) mkpart primary ext4 513M 20.5G
 +
(parted) mkpart primary ext4 20.5G 100%
 +
 +
创建 {{ic|/}} (20GiB), swap (4Gib), 剩下给 {{ic|/home}}:
 +
 +
(parted) mkpart primary ext4 513M 20.5G
 +
(parted) mkpart primary linux-swap 20.5G 24.5G
 +
(parted) mkpart primary ext4 24.5G 100%
 +
 +
==== BIOS/MBR 示例 ====
 +
 +
单根目录分区:
 +
 +
(parted) mkpart primary ext4 1M 100%
 +
(parted) set 1 boot on
 +
 +
20Gib {{ic|/}} 分区,剩下的给 {{ic|/home}}:
 +
 +
(parted) mkpart primary ext4 1M 20G
 +
(parted) set 1 boot on
 +
(parted) mkpart primary ext4 20G 100%
 +
 +
{{ic|/boot}} (100MiB), {{ic|/}} (20Gib), swap (4GiB) 剩下的给 {{ic|/home}}:
 +
 +
(parted) mkpart primary ext4 1M 100M
 +
(parted) set 1 boot on
 +
(parted) mkpart primary ext4 100M 20G
 +
(parted) mkpart primary linux-swap 20G 24G
 +
(parted) mkpart primary ext4 24G 100%

Revision as of 10:10, 4 December 2018

翻译状态: 本文是英文页面 GParted翻译,最后翻译时间:2015-03-01,点击这里可以查看翻译后英文页面的改动。

GParted 是 GNU Parted 的 GTK+ 前端,也是 GNOME 官方指定的分区编辑程序。它可以建立/删除/更改/检查几乎所有文件格式的分分区,还可以管理驱动器盘符、参数和复制/粘贴整个分区。GParted 收录于 [extra] 库,还有 Live CD 版本。若要调整平常无法卸载的根文件系统所在分区,需要下载 Live CD.

警告: GParted 可以读写您的硬盘分区,因此若使用不慎会导致数据丢失。建议您在使用 GParted 之前先备份会受到影响的分区。

安装到 Arch

官方源安装 软件包 parted, 要使用图像界面,安装 gparted

可选依赖

文件系统

单独的 GParted 软件包本身并不支持所有文件系统。以下列举了为支持不同文件系统所需的软件包:

软件包 文件系统
btrfs-progs Btrfs
dosfstools fat16/32
e2fsprogs ext2/ext3/ext4 (v1.41+)
exfat-utils exfat
f2fs-tools F2FS
jfsutils JFS
ntfs-3g NTFS
reiser4progsAUR Reiser4
reiserfsprogs Reiser3
xfsprogs XFS

额外功能

软件包 功能
mtools 适用于 MSDOS 硬盘。如果您要更改 FAT 分区的盘符,就需要这个。
注意: 若您通过 pacman 安装 GParted, pacman 也会为您列举这些可选软件包。

GParted 支持

若您不确定某个指令的作用为何,可以参考官方 GParted 论坛

小技巧

把 GParted-live 添加至您的 GRUB 菜单

将 GParted-live 添加至您的 GRUB 菜单的步骤,请参阅 Gparted-Live wiki 文章。好处是您可以直接从 GRUB 启动进 GParted-live CD 的 live 环境,不需要另外准备一张 CD!

双启动 Windows XP

如果您打算将一个同属于启动分区的 Windows XP 分区移动到另一块硬盘,只要将以下的注册表删除,之后就可以用 GParted 轻易地操作,Windows 不会出现任何问题:

HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices

相关资料参见这里

修复混乱的分区顺序

如果您的硬盘上有逻辑分区,刪除其中一个可能会导致分区顺序混乱。例如以下的范例:

/dev/sda1 (主分区)
/dev/sda2 (主分区)
/dev/sda3 (主分区)
/dev/sda4 (扩展分区)
/dev/sda5 (逻辑分区)
/dev/sda6 (逻辑分区)
/dev/sda7 (逻辑分区)

1-3 是主分区。5-6 是隶属于扩展分区 (4) 的逻辑分区。假设您砍掉 /dev/sda5,并将 /dev/sda2 复制一份到释出的空间上,那么现在您的硬盘看起来像下面这样:

/dev/sda1 (主分区)
/dev/sda2 (主分区)
/dev/sda3 (主分区)
/dev/sda4 (扩展分区)
/dev/sda7 (逻辑分区)
/dev/sda5 (逻辑分区)
/dev/sda6 (逻辑分区)

注意到在删除、复制/粘贴分区之后,分区顺序混乱了。这可能会导致各种问题:无法顺利挂载分区、出现 GRUB Error 17 "no bootable system"等等。解決这个小问题的方法很简单:

  1. 用您的 Arch Live CD、GParted Live CD (或任何其他 live Linux CD) 启动系统
  2. 运行 fdisk, 选择硬盘,进入高级模式,修复分区顺序,并将变更写入硬盘

例如使用 /dev/sda:

# fdisk /dev/sda
  1. 进入 fdisk 之后,选择 x 选项 (额外功能 (仅限进阶用户)) 并按 enter
  2. 接着选择 f 选项 (修复分区顺序) 并按 enter
  3. 接着选择 w 选项 (写入分区表之后退出) 并按 enter
注意: 您必须以 root 身分执行 partprobe,或是重启系统,这样内核才能读取新的分区表!

从菜单启动 GParted

如果您从菜单 (例如 xfce 的应用程序菜单) 载入 GParted 时发生任何问题,安装 polkit 软件包,并设定为和当前会话同时启动。

启用 GParted 在线调整大小和设备对应器磁盘阵列(dmraid)功能

你需要以以下参数重新编译软件包:

./configure --enable-online-resize --enable-libparted-dmraid

Partitioning

创建新分区表

如果设备没有分区,或者要改变分区表类型,重建分区结构,需要新建分区表。

打开需要新建分区表的设备:

# parted /dev/sdx

为 BIOS 系统创建 MBR/msdos 分区表:

(parted) mklabel msdos

为 UEFI 系统创建 GPT 分区表:

(parted) mklabel gpt

分区方案

您可以决定磁盘应该分为多少个区,每个分区又挂载在系统的哪个目录。将分区如何映射至目录(一般称此为挂载点),取决于您的分区方案。需要满足:

  • 至少需要创建一个 / (root) 目录,有些分区类型和 启动加载器组合有额外的分区要求:
  • BIOS/GPT + GRUB: 需要按照 BIOS 启动分区设置 的方式创建一个 1M 或 2M 的 EF02 类型分区.
  • UEFI 的主板,需要一个 EFI 系统分区[broken link: invalid section].
  • 如果您需要加密磁盘,则必须加以调整分区方案。系统安装后,也可以再配置加密文件夹,容器或 home 目录。

系统需要需要 /boot/home 等目录, Arch 文件系统架构 有各目录的详细介绍。如果没有创建单独的/boot/home 分区,这些目录直接放到了根分区下面。后面会介绍如何创建 交换分区

In the examples below it is assumed that a new and contiguous partitioning scheme is applied to a single device. Some optional partitions will also be created for the /boot and /home directories: see also Arch filesystem hierarchy for an explanation of the purpose of the various directories; if separate partitions for directories like /boot or /home are not created, these will simply be contained in the / partition. Also the creation of an optional partiton for swap space will be illustrated.

用下面命令打开 parted 交互模式:

# parted /dev/sdx

用下面命令创建分区:

(parted) mkpart part-type fs-type start end
  • part-type 是分区类型,可以选择 primary, extendedlogical,仅用于 MBR 分区表.
  • fs-type 是文件系统类型,支持的类型列表可以通过 help mkpart 查看。 mkpart 并不会实际创建文件系统, fs-type 参数仅是让 parted 设置一个 1-byte 编码,让启动管理器可以提前知道分区中有什么格式的数据。参阅 Wikipedia:Disk partitioning#PC partition types.
Tip: Most Linux native file systems map to the same partition code (0x83), so it is perfectly safe to e.g. use ext2 for an ext4-formatted partition.
  • start 是分区的起始位置,可以带单位, 例如 1M 指 1MiB.
  • end 是设备的结束位置(不是start 值的差),同样可以带单位,也可以用百分比,例如 100% 表示到设备的末尾。
  • 为了不留空隙,分区的开始和结束应该首尾相连。
Warning: It is important that the partitions do not overlap each other: if you do not want to leave unused space in the device, make sure that each partition starts where the previous one ends.

如果看到下面警告:

Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel?

表示分区没 对齐,请按照 分区对齐 进行修正。

下面命令设置 /boot 为启动目录:

(parted) set partition boot on
  • partition 是分区的编号,从 print 命令获取。

UEFI/GPT 示例

首先需要一个 EFI 系统分区[broken link: invalid section].如果是和 Windows 双系统启动,此分区已经存在,不要重新创建。

用下面命令创建分区 (建议大小是 512MiB)。

(parted) mkpart ESP fat32 1M 513M
(parted) set 1 boot on

剩下的空间可以按需要创建,root 占用全部 100% 剩余空间:

(parted) mkpart primary ext4 513M 100%

/ (20GiB),剩下的给 /home

(parted) mkpart primary ext4 513M 20.5G
(parted) mkpart primary ext4 20.5G 100%

创建 / (20GiB), swap (4Gib), 剩下给 /home

(parted) mkpart primary ext4 513M 20.5G
(parted) mkpart primary linux-swap 20.5G 24.5G
(parted) mkpart primary ext4 24.5G 100%

BIOS/MBR 示例

单根目录分区:

(parted) mkpart primary ext4 1M 100%
(parted) set 1 boot on

20Gib / 分区,剩下的给 /home

(parted) mkpart primary ext4 1M 20G
(parted) set 1 boot on
(parted) mkpart primary ext4 20G 100%

/boot (100MiB), / (20Gib), swap (4GiB) 剩下的给 /home:

(parted) mkpart primary ext4 1M 100M
(parted) set 1 boot on
(parted) mkpart primary ext4 100M 20G
(parted) mkpart primary linux-swap 20G 24G
(parted) mkpart primary ext4 24G 100%