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

From ArchWiki
Jump to: navigation, search
(Merge from GNU Parted.)
(Update Installation.)
Line 10: Line 10:
 
{{Related|Partitioning}}
 
{{Related|Partitioning}}
 
{{Related articles end}}
 
{{Related articles end}}
{{TranslationStatus (简体中文)|GParted|2015-03-01|363208}}
+
{{TranslationStatus (简体中文)|Parted|2015-03-01|363208}}
  
[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.
+
[https://www.gnu.org/software/parted/parted.html GNU Parted] 是创建和处理分区表的程序。GParted 是 GUI 前端。
 
 
{{警告|GParted 可以读写您的硬盘分区,因此若使用不慎会导致数据丢失。建议您在使用 GParted 之前先备份会受到影响的分区。}}
 
  
 
== 安装到 Arch ==
 
== 安装到 Arch ==
  
 
从[[官方源]][[pacman|安装]] 软件包 {{Pkg|parted}}, 要使用图像界面,安装 {{Pkg|gparted}}。
 
从[[官方源]][[pacman|安装]] 软件包 {{Pkg|parted}}, 要使用图像界面,安装 {{Pkg|gparted}}。
 
=== 可选依赖 ===
 
 
==== 文件系统 ====
 
 
单独的 GParted 软件包本身并不支持所有文件系统。以下列举了为支持不同文件系统所需的软件包:
 
 
{| class="wikitable"
 
| '''软件包''' || '''文件系统'''
 
|-
 
| {{Pkg|btrfs-progs}} || [[Btrfs]]
 
|-
 
| {{Pkg|dosfstools}} || fat16/32
 
|-
 
| {{Pkg|e2fsprogs}} || ext2/[[ext3]]/[[ext4]] (v1.41+)
 
|-
 
| {{Pkg|exfat-utils}} || exfat
 
|-
 
| {{Pkg|f2fs-tools}} || [[F2FS]]
 
|-
 
| {{Pkg|jfsutils}} || [[JFS]]
 
|-
 
| {{Pkg|ntfs-3g}} || [[NTFS]]
 
|-
 
| {{AUR|reiser4progs}} || [[Reiser4]]
 
|-
 
| {{Pkg|reiserfsprogs}} || Reiser3
 
|-
 
| {{Pkg|xfsprogs}} || [[XFS]]
 
|}
 
 
==== 额外功能 ====
 
 
{| class="wikitable"
 
| '''软件包''' || '''功能'''
 
|-
 
| {{Pkg|mtools}} || 适用于 MSDOS 硬盘。如果您要更改 FAT 分区的盘符,就需要这个。
 
|}
 
 
{{注意|若您通过 pacman 安装 GParted, pacman 也会为您列举这些可选软件包。}}
 
 
== GParted 支持 ==
 
 
若您不确定某个指令的作用为何,可以参考[http://gparted-forum.surf4.info/ 官方 GParted 论坛]。
 
  
 
== 小技巧 ==
 
== 小技巧 ==

Revision as of 10:32, 4 December 2018

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

GNU Parted 是创建和处理分区表的程序。GParted 是 GUI 前端。

安装到 Arch

官方源安装 软件包 parted, 要使用图像界面,安装 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%