标签归档:分区

Linux下大于2TB设备分区工具 -- parted介绍

随着单块硬盘容量的增大和硬盘价格的下降,2TB的磁盘使用将很快会普及,由于传统的MBR方式存储分区表的方 式缺陷,将可能导致很多分区工具不能正确地读取大于2TB容量的硬盘而无法正常分区大容量硬盘。其实linux在很早就已经有相关的工具来化解这个困境 了,那就是parted。
parted是类似fdisk的命令行分区软件,假设我们在linux系统中有一块未分区的硬盘挂载为/dev/hdd,下面以实例的方式来讲解如何使用 parted:
注意:parted的操作都是实时的,也就是说你执行了一个分区的命令,他就实实在在地分区了,而不是像fdisk那样,需要执行w命令写入所做的修改, 所以进行parted的测试千万注意不能在生产环境中!!
标记:#开始表示在shell的root下输入的命令,(parted)表示在parted中输入的命令,其他为自动打印的信息

1、首先类似fdisk一样,先选择要分区的硬盘,此处为/dev/hdd:
# parted /dev/hdd
GNU Parted 1.8.1
Using /dev/hdd
Welcome to GNU Parted! Type 'help' to view a list of commands.

2、现在我们已经选择了/dev/hdd作为我们操作的磁盘,接下来需要创建一个分区表(在parted中可以 使用help命令打印帮助信息):
(parted) mklabel
Warning: The existing disk label on /dev/hdd will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No?(警告用户磁盘上的数据将会被销毁,询问是否继续,我们这里是新的磁盘,输入yes后回车) yes
New disk label type? [msdos]? (默认为msdos形式的分区,我们要正确分区大于2TB的磁盘,应该使用gpt方式的分区表,输入gpt后回车)gpt

3、创建好分区表以后,接下来就可以进行分区操作了,执行mkpart命令,分别输入分区名称,文件系统和分区 的起止位置
(parted) mkpart
Partition name? []? dp1
File system type? [ext2]? ext3
Start? 0
End? 500GB

4、分好区后可以使用print命令打印分区信息,下面是一个print的样例
(parted) print
Model: VBOX HARDDISK (ide)
Disk /dev/hdd: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 500GB 500GB dp1

5、如果分区错了,可以使用rm命令删除分区,比如我们要删除上面的分区,然后打印删除后的结果
(parted)rm 1 #rm后面使用分区的号码
(parted) print
Model: VBOX HARDDISK (ide)
Disk /dev/hdd: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags

6、按照上面的方法把整个硬盘都分好区,下面是一个分完后的样例
(parted) mkpart
Partition name? []? dp1
File system type? [ext2]? ext3
Start? 0
End? 500GB
(parted) mkpart
Partition name? []? dp2
File system type? [ext2]? ext3
Start? 500GB
End? 2199GB
(parted) print
Model: VBOX HARDDISK (ide)
Disk /dev/hdd: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 500GB 500GB dp1
2 500GB 2199GB 1699GB dp2

7、由于parted内建的mkfs还不够完善,所以完成以后我们可以使用quit命令退出parted并使用 系统的mkfs命令对分区进行格式化了,此时如果使用fdisk -l命令打印分区表会出现警告信息,这是正常的
#fdisk -l
WARNING: GPT (GUID Partition Table) detected on '/dev/hdd'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/hdd: 2199.0 GB, 2199022206976 bytes
255 heads, 63 sectors/track, 267349 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hdd1 1 267350 2147482623+ ee EFI GPT #mkfs.ext3 /dev/hdd1
#mkfs.ext3 /dev/hdd2
#mkdir /dp1 /dp2
#mount /dev/hdd1 /dp1
#mount /dev/hdd2 /dp2

支持增量备份的软件 -- DiskGenius

最近发现DiskGeius增加了增量备份功能,以前一直用Ghost,一直在关注它是否可以实现增量备份功能,可惜迟迟这个功能,为什么我关注增量备份这个功能呢?我的数据总有改动,而我还喜欢备份数据,就怕自己的数据丢失,几乎有改动我就备份,如果每次我都做完整备份那简直是一次灾难,因为太浪费时间了,增量备份正合我意,只备份有变化的部分所以节省了宝贵的时间,下面是DiskGenius软件备份与还原功能的介绍。

 

备份分区

DiskGenius有强大的分区备份功能,使用DiskGenius的分区备份与分区恢复功能,可以轻松的实现类似于Ghost的分区备份与恢复功能。实际上,在这一功能上,DiskGenius比Ghost要更加强大,特别是,DiskGenus支持多时间点的分区备份与还原,极大的提升了这一功能的实用性与方便性。
备份分区功能是将整个分区中的所有文件数据或其它数据备份到指定的文件(称为“镜像文件”)中。以便在分区数据遭到破坏时恢复。DiskGenius软件提供了三种备份方式可供选择。
1、备份所有扇区:将源分区(卷)的所有扇区按从头到尾的顺序备份到镜像文件中,而不判断扇区中是否存在有效数据。在对有效数据进行备份的同时,此方式也会备份大量的无用数据,适用于有特殊需要的情况。因为要备份的数据量大,所以速度最慢,并且在将来恢复时只能恢复到源分区、或与源分区大小完全相同的其它分区。
2、按存储结构备份:按源分区(卷)的文件系统结构将有效数据“原样”备份到镜像文件中。备份时本软件将只备份含有有效数据的扇区,没有有效数据的扇区将不备份。此方式速度最快。但与第一种方式一样,将来恢复时也要求目标分区的大小必须与源分区完全相同。
3、按文件备份:将源分区(卷)的所有文件及其它有效数据逐一打包备份到镜像文件中。此方式也不备份无效扇区,所以备份速度较快。恢复时可将备份文件恢复到与源分区不同大小的其它分区(卷)中,只要目标分区(卷)的容量大于源分区的已用数据量总和即可。因此,这种方式比较灵活。恢复时文件的存储位置会被重新安排。一般情况下,新恢复的分区将没有文件碎片。特别需要指出的是:只有按文件备份,才支持增量备份,因此,如果你想使用增量备份,请使用这种备份方式。

为了缩减镜像文件的大小,可以选择在备份时对数据进行压缩。但压缩数据会对备份速度造成一点影响。选择的压缩质量越高,备份速度越慢,但镜像文件越小。建议选择“快速压缩”。

要开始备份分区,点击工具栏按钮“备份分区到镜像文件”,或点击菜单“工具 - 备份分区到镜像文件”项。程序将显示下面的对话框:

点击“选择源分区(卷)”按钮选择要备份的分区,程序打开分区选择对话框,用户可以选择需要备份的分区,如下图所示:

DiskGenius提供了两种备份模式,一是完整备份,一是增量备份,我们建议对分区进行备份时,除首次备份外均使用增量备份,可以大大节约分区备份的时间与备份文件所占用的磁盘空间。

点击“备份选项”按钮,在弹出的分区备份选项对话框中,用户可以指定备份方式、备份文件压缩方式,还可以指定,是否备份时排除某些特定文件夹等,如下图所示:

如果备份类型是完整备份,点击“选择文件路径”按钮,指定备份文件存储的路径及文件名;如果是增量备份,点击相同按钮,选择已有的备份文件。

你可以在备注中,为每次备份时间点写一点说明,以备以后查询所用,如果你经常备份分区,这个功能很有用!

当分区容量比较大,内容又比较多时,备份分区需要的时间会比较长,用户可以选中“完成后”复选框,然后指定备份分区操作结束后,系统的下一步操作。

以上设置完成后,点击“开始”按钮,DiskGenius将开始执行分区备份操作。

需要说明的是,在备份系统分区(即Windows所在的分区,通常为 C:分区)时,由于备份系统分区比备份普通分区要复杂一些,DiskGenius会提示你,将进入DOS模式,执行分区备份操作,如下图所示:

分区备份完成之后,你可以使用备份文件还原分区,参见从镜像文件还原分区,对于增量备份的备份文件,你可以选择任意的时间点还原分区。

除了使用备份文件还原分区,你也可以使用DiskGenius加载备份文件,并从其中拷贝数据。对于增量备份的备份文件,你可以选择任意的时间点加载数据。加载分区备份文件的方法是:主菜单 - 工具 - 打开分区镜像以便提取文件。

 

从镜像文件还原分区

当分区数据损坏时,可以从先前备份的镜像文件还原分区,将其还原到备份前的状态。点击菜单“工具 - 从镜像文件还原分区”项,程序弹出“从镜像文件还原分区”对话框:

点击对话框中的“选择文件”按钮,以选择分区镜像文件(.pmf文件)。再点击“选择目标分区(卷)”按钮以选择要还原的分区。对话框中会显示镜像文件的有关信息。如果该镜像文件中,有多个还原时间点,还需要选择一下还原的时间点。以上设置完成后,可以点击“开始”按钮准备还原分区。程序显示下面的警告提示:

确认无误后点击“确定”按钮,程序将开始还原分区进程:

如果原镜像文件是“按文件”备份的,且在备份时源分区没有锁定,还原分区完成后,程序将自动对还原后的数据做必要的检查及更正。

exFAT文件系统结构

struct exfat_super_block
{
	uint8_t jump[3];				/* 0x00 jmp and nop instructions */
	uint8_t oem_name[8];			/* 0x03 "EXFAT   " */
	uint8_t	__unused1[53];			/* 0x0B always 0 */
	le64_t sector_start;			/* 0x40 partition first sector */
	le64_t sector_count;			/* 0x48 partition sectors count */
	le32_t fat_sector_start;		/* 0x50 FAT first sector */
	le32_t fat_sector_count;		/* 0x54 FAT sectors count */
	le32_t cluster_sector_start;	/* 0x58 first cluster sector */
	le32_t cluster_count;			/* 0x5C total clusters count */
	le32_t rootdir_cluster;			/* 0x60 first cluster of the root dir */
	le32_t volume_serial;			/* 0x64 volume serial number */
	struct							/* 0x68 FS version */
	{
		uint8_t minor;
		uint8_t major;
	}
	version;
	le16_t volume_state;			/* 0x6A volume state flags */
	uint8_t sector_bits;			/* 0x6C sector size as (1 << n) */
	uint8_t spc_bits;				/* 0x6D sectors per cluster as (1 << n) */
	uint8_t fat_count;				/* 0x6E always 1 */
	uint8_t drive_no;				/* 0x6F always 0x80 */
	uint8_t allocated_percent;		/* 0x70 percentage of allocated space */
	uint8_t __unused2[397];			/* 0x71 always 0 */
	le16_t boot_signature;			/* the value of 0xAA55 */
}

struct exfat_entry					/* common container for all entries */
{
	uint8_t type;					/* any of EXFAT_ENTRY_xxx */
	uint8_t data[31];
}

struct exfat_entry_bitmap			/* allocated clusters bitmap */
{
	uint8_t type;					/* EXFAT_ENTRY_BITMAP */
	uint8_t __unknown1[19];
	le32_t start_cluster;
	le64_t size;					/* in bytes */
}

struct exfat_entry_upcase			/* upper case translation table */
{
	uint8_t type;					/* EXFAT_ENTRY_UPCASE */
	uint8_t __unknown1[3];
	le32_t checksum;
	uint8_t __unknown2[12];
	le32_t start_cluster;
	le64_t size;					/* in bytes */
}

struct exfat_entry_label			/* volume label */
{
	uint8_t type;					/* EXFAT_ENTRY_LABEL */
	uint8_t length;					/* number of characters */
	le16_t name[EXFAT_ENAME_MAX];	/* in UTF-16LE */
}

struct exfat_entry_meta1			/* file or directory info (part 1) */
{
	uint8_t type;					/* EXFAT_ENTRY_FILE */
	uint8_t continuations;
	le16_t checksum;
	le16_t attrib;					/* combination of EXFAT_ATTRIB_xxx */
	le16_t __unknown1;
	le16_t crtime, crdate;			/* creation date and time */
	le16_t mtime, mdate;			/* latest modification date and time */
	le16_t atime, adate;			/* latest access date and time */
	uint8_t crtime_cs;				/* creation time in cs (centiseconds) */
	uint8_t mtime_cs;				/* latest modification time in cs */
	uint8_t __unknown2[10];
}

struct exfat_entry_meta2			/* file or directory info (part 2) */
{
	uint8_t type;					/* EXFAT_ENTRY_FILE_INFO */
	uint8_t flags;					/* combination of EXFAT_FLAG_xxx */
	uint8_t __unknown1;
	uint8_t name_length;
	le16_t name_hash;
	le16_t __unknown2;
	le64_t real_size;				/* in bytes, equals to size */
	uint8_t __unknown3[4];
	le32_t start_cluster;
	le64_t size;					/* in bytes, equals to real_size */
}

struct exfat_entry_name				/* file or directory name */
{
	uint8_t type;					/* EXFAT_ENTRY_FILE_NAME */
	uint8_t __unknown;
	le16_t name[EXFAT_ENAME_MAX];	/* in UTF-16LE */
}

DiskPart使用说明

Diskpart 与许多命令行实用工具不同,原因是它不以单行模式操作。相反,当您启动该实用工具后,命令是从标准输入/输出 (I/O) 读取的。您可以将这些命令定向到任何磁盘、分区或卷。

与磁盘管理的比较

Diskpart 启用“磁盘管理”管理单元所支持的操作的超集。“磁盘管理”管理单元禁止您无意中执行可能会导致数据丢失的操作。建议您应谨慎使用 Diskpart 实用工具,因为 Diskpart 支持显式控制分区和卷。

可以使用 Diskpart 将基本磁盘转换为动态磁盘。基本磁盘可以为空,也可以包含主分区或逻辑驱动器。基本磁盘可以是数据磁盘、系统驱动器或启动驱动器。基本磁盘不能包含容错磁盘驱动程序 (FtDisk) 集,如带区或镜像等。要转换包含有 FtDisk 驱动程序集的基本磁盘,请使用 Windows 2000 上的“磁盘管理”,或者在升级到 Windows XP 之前转换磁盘。

可以使用 Diskpart 将动态磁盘转换为基本磁盘。进行转换前,必须删除所有动态卷。除非遇到紧急情况,否则不建议您删除动态磁盘上的分区。建议您删除驱动器上的所有卷,然后再将磁盘转换为基本磁盘。必须删除所有动态数据分区。另外,切勿混淆同一驱动器上的基本主分区和动态分区。否则,计算机可能无法重新启动。

您可以使用 Diskpart 以显式磁盘偏移量创建一个分区。“磁盘管理”管理单元将此分区放在任何占用区域的末端,或放在第一个足够大的区域上。在主启动记录 (MBR) 磁盘上,分区偏移量和大小都经过四舍五入,以保持必要的柱面对齐。偏移量四舍五入为最靠近的有效值,大小则始终四舍五入为下一个有效值。Diskpart 不为最近创建的分区分配驱动器号。使用 assign 命令可分配装入点或驱动器号。

Diskpart 遵循与管理单元同样的策略。只能在固定磁盘上创建动态磁盘。不能将可移动磁盘(如 1394 或通用串行总线 (USB) 驱动器)转换为动态磁盘。

Diskpart 允许执行管理单元禁止的某些分区删除操作。例如,您可以使用 Diskpart 删除 MBR OEM 分区。但是,这些分区中往往含有平台操作所必需的文件。Diskpart 禁止删除当前系统、启动或分页卷和分区。此外,Diskpart 还禁止删除作为动态磁盘基础的分区。

不能使用 Diskpart 在可移动媒体上创建分区。Windows 支持可移动媒体上至多有一个 MBR 分区。如果媒体在出厂时已带有一个 MBR,此 MBR 是不能修改的;但是,即使配置了多个分区或逻辑驱动器,仍然遵循此 MBR。如果媒体在出厂时不带 MBR,此媒体被视为“超级软盘”并且其中未写入分区结构。

可移动驱动器的驱动器号与驱动器关联,但不与媒体关联。您可以使用 Diskpart 更改此驱动器号。

Diskpart 导致产生了磁盘签名、GUID 分区表 (GPT) 磁盘全局唯一标识符 (GUID) 和 GPT 分区 GUID。不能使用 Diskpart 来显式设置这些项。

同管理单元一样,Diskpart 实用工具包括对新 Itanium 磁盘分区方案的支持,该方案称为 GPT。GPT 磁盘不能用于任何基于 x86 的 Windows XP 计算机或 Windows 2000 计算机。Diskpart 仅对空磁盘支持 GPT 分区向 MBR 分区的转换。

您可以使用 Diskpart 删除缺失的动态磁盘。动态磁盘包含共享数据库,一台计算机上的所有动态磁盘都识别此计算机上的所有其他动态磁盘。移动动态磁盘时,原始计算机将这些磁盘视为“缺失的”。

使用 Diskpart 时,驱动器号不能自动分配。要确保给定的分区或卷有驱动器号,必须显式地分配一个驱动器号。您可以分配此驱动器号,也可以允许分配下一个可用驱动器号。

设置焦点

大多数 Diskpart 命令适用于特定目标磁盘、分区或卷。目标对象具有“焦点”。焦点简化了在同一磁盘上创建多个分区的常见配置任务。通过 select 命令为对象设置焦点。除了 listhelpremexithelp 命令之外,其他所有命令都需要有焦点。

使用 select 命令可显式更改焦点。要隐式更改焦点,请使用像 create 这样的命令。管理基本磁盘前,必须设置磁盘焦点。在基本磁盘上,分区焦点和卷焦点相同。如果更改某一项上的焦点,也将更改其他项的焦点。在动态卷上,由于上一级的分区焦点总是丢失,因此只需要卷焦点,而且只有简单卷才需要磁盘焦点。

考虑下面计算机包含两个磁盘的示例:

  • 每个磁盘均包含两个主分区。第一个磁盘包含 C 和 D 分区,第二个磁盘包含 E 和 F 分区。在将分区焦点设置给 C 或 D 分区之前,必须先将磁盘焦点设置给磁盘 1。可以在任何时候将卷焦点设置给 C、D、E 或 F 分区。在本例中,如果将卷焦点设置给 C 或 D 分区,磁盘焦点不变;但是,如果将卷焦点设置给 E 或 F 分区,磁盘焦点就可能转移到其他磁盘。
  • 每个磁盘都是动态的,并且都包含简单卷和空闲空间。第一个磁盘包含 C 分区,第二个磁盘包含 E 分区。向第一个磁盘添加简单卷之前,必须先设置磁盘焦点。要扩展 C 分区,只需设置卷焦点即可。同样,要在 E 分区中添加镜像,只需将卷焦点设置给 E 分区。如果创建简单卷或在同一磁盘上扩展现有卷,不会更改磁盘焦点。如果添加镜像、创建带区集或者将现有卷扩展到不同的磁盘上,就可能会导致磁盘焦点丢失。

脚本撰写

Diskpart 支持使用脚本的操作。要启动 Diskpart 脚本,需使用“diskpart /s script.txt”命令。您可以在 Windows XP、Windows 2000、远程安装服务 (RIS) 无人参与安装环境上,或者在用于 OEM 的 Windows 预安装环境 (PE) 上撰写 Diskpart 脚本。

默认情况下,如果脚本中存在问题,Diskpart 可以退出命令处理并返回错误代码。要在这种情况下继续运行脚本,需在命令中包含 noerr 参数。此参数允许您使用单个脚本删除所有数据驱动器上的所有分区,而与驱动器的总数无关。不过,并非所有命令都支持 noerr 参数。即使使用 noerr 参数,也始终会返回关于命令语法错误的错误。

下面的列表描述了 Diskpart 的错误代码:

  • 0 - 未发生错误。整个脚本正常运行。
  • 1 - 发生致命例外。可能存在严重问题。
  • 2 - Diskpart 命令行上指定的参数不正确。
  • 3 - Diskpart 无法打开指定脚本或输出文件。
  • 4 - Diskpart 使用的服务之一返回错误。
  • 5 - 发生命令语法错误。由于选择对象不当或对象不适用于此命令而导致脚本失败。

运行 Diskpart 后,将显示 Diskpart 版本及当前计算机名称。

命令摘要

设置焦点的命令

select

使用 select 命令可将焦点设置给指定目标。要获取焦点类型列表,请将类型字段保留为空。如果未指定标识 (ID) 号,则显示当前处于焦点的对象。

select disk[=n]

使用 select disk 命令可将焦点设置给具有指定 Windows NT 磁盘号的磁盘。如果未指定磁盘号,该命令将显示当前处于焦点的磁盘。

select partition[=n/l]

使用 select partition 命令可将焦点设置给指定分区。如果未指定分区,则显示当前处于焦点的分区。

在基本磁盘上,您可以按索引、驱动器号或装入点指定分区。在动态磁盘上,只能按索引指定分区。

select volume[=n/l]

使用 select volume 命令可将焦点设置给指定卷。如果未指定卷,该命令将显示当前处于焦点的卷。

您可以按索引、驱动器号或装入点路径指定卷。在基本磁盘上,如果选择了卷,则相应分区也具有焦点。

显示磁盘配置的命令

使用 list 命令可显示摘要。要显示更多信息,请先设置焦点,然后使用 detail 命令。

detail disk

使用 detail disk 命令可获得有关当前处于焦点的磁盘的详细信息,例如:

Diskpart> select disk 3 
  
Disk 3 is now the selected disk. 
  
Diskpart> detail disk 
  
Maxtor 90432D2
Disk ID:F549D151
Type   :IDE
Bus    : 0
Target : 0
LUN ID : 0 
  
Volume ###  Ltr  Label        Fs     Type              Size     Status     Info 
----------  ---  -----------  -----  ----------------  -------  ---------  -------- 
Volume 0     F   My RAID Set  NTFS   RAID-5            4096 MB  Healthy 
Volume 1     G   FATSTRIPE    FAT32  Stripe            6144 MB  Healthy 
Volume 2     H   My Mirror    NTFS   Mirror            2048 MB  Healthy
Volume 3     I   My Span      NTFS   Spanned              9 GB  Healthy
				

detail partition

使用 detail partition 命令可获得有关当前处于焦点的分区的详细信息;

Diskpart> select disk 0

Disk 0 is now the selected disk.

Diskpart> select partition 1

Partition 1 is now the selected partition.

Diskpart> detail partition

Partition 0
Type  : 07
Hidden:No
Active:Yes

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
* Volume 2    C                 NTFS   Partition   4110 MB  Healthy    System
				

detail volume

使用 detail volume 命令可获得有关当前处于焦点的卷的详细信息,例如:

Diskpart> select volume 1 
  
Volume 1 is now the selected volume. 
  
Diskpart> detail volume 
  
  Disk ###  Status      Size     Free     Dyn  Gpt 
  --------  ----------  -------  -------  ---  --- 
  Disk 1    Online         8 GB      0 B   * 
  Disk 2    Online         8 GB      0 B   * 
  Disk 3    Online         8 GB      0 B   *
				

list disk

使用 list disk 命令可获得有关计算机中每个磁盘的摘要信息。带有星号 (*) 的磁盘具有当前焦点。此命令只列出固定磁盘(例如,集成设备电路 [IDE] 或小型计算机系统接口 [SCSI])或者可移动磁盘(例如,1394 或 USB)。不显示可移动驱动器。

Diskpart> select disk 3 
  
Disk 3 is now the selected disk. 
  
Diskpart> list disk 
  
  
  Disk ###  Status      Size     Free     Dyn  Gpt 
  --------  ----------  -------  -------  ---  ---
  Disk 0    Online      4118 MB      0 B
  Disk 1    Online         8 GB  4002 MB   * 
  Disk 2    Online         8 GB      0 B   * 
* Disk 3    Online         8 GB      0 B   * 
  Disk M0   Missing        8 GB      0 B   *
				

list partition

使用 list partition 命令可获得有关处于焦点的磁盘上每个分区的信息,例如:

Diskpart> select disk 4 
  
Disk 4 is now the selected disk. 
  
Diskpart> list partition 
  
  Partition ###  Type              Size     Offset 
  -------------  ----------------  -------  ------- 
  Partition 1    Primary           4094 MB    31 KB 
  Partition 2    Extended          4581 MB  4094 MB 
  Partition 3    Logical           2047 MB  4094 MB 
  Partition 4    Logical           2533 MB  6142 MB
 
 
All partitions (regardless of type) are displayed.
				

list volume

使用 list volume 命令可获得有关计算机中每个卷的信息,例如:

Diskpart> list volume 
  
  Volume ###  Ltr  Label        Fs     Type              Size     Status      Info    
  ----------  ---  -----------  -----  ----------------  -------  ----------  --------
  Volume 0     F   My RAID Set  NTFS   RAID-5            4096 MB  Healthy
  Volume 1     G   FATSTRIPE    FAT32  Stripe            6144 MB  Failed
  Volume 2     H   My Mirror    NTFS   Mirror            2048 MB  Healthy
  Volume 3     I   My Span      NTFS   Spanned              9 GB  Healthy
  Volume 4     D                CDFS   CD-ROM                0 B
  Volume 5     C                NTFS   Partition         2047 MB  Healthy     System
  Volume 6     E                NTFS   Partition         2063 MB  Healthy     Boot
  Volume 7     J   My Primary   NTFS   Partition         4095 MB  Healthy
  Volume 8     K   My Logical   NTFS   Partition         2047 MB  Healthy
  Volume 9     L   My Next Log  NTFS   Partition         2534 MB  Healthy
				

管理基本磁盘的命令

本节介绍可用于创建和删除分区,以及分配驱动器号和装入点的命令。本节中的命令仅适用于基本磁盘。有关适用于动态磁盘的命令,以及可用于将基本磁盘转换为动态磁盘的命令,请参考后面几节。

在所有 MBR 磁盘上,sizeoffset 参数都经过四舍五入以保持柱面对齐。在 GPT 磁盘上,sizeoffset 参数也经过四舍五入以保持扇区对齐。如果未指定 offset 参数,则将分区放在第一个足够大的未占用连续磁盘范围内。如果未列出 size 参数,则分区可以扩展至占用确定的磁盘范围,最多可占用整个磁盘大小。

新磁盘首次被发现后,即被假定为 MBR 磁盘。在试图创建 GPT 分区之前,必须显式地将磁盘转换为 GPT。建议您将 MSR 创建为每个数据磁盘上的第一个分区以及任何系统或启动盘上的第二个分区(在 ESP 之后)。从 MBR 转换为 GPT 后,MSR 分区将在磁盘上自动创建。

创建任何新的分区后,最近创建的分区会得到分区焦点。删除任何分区后,分区焦点也会丢失。磁盘焦点在任何情况下都保持不变。

active

使用 active 命令可将当前处于焦点的分区设置为“活动的”。此设置通知固件此分区是有效系统分区。Diskpart 不验证分区内容。

注意:如果使用此命令,可能无法重新启动计算机。

assign [[letter=l]/[mount=path]] [noerr]

使用 assign 命令可为当前处于焦点的分区分配驱动器号或装入点。如果未指定驱动器号,则分配下一个可用驱动器号。如果此驱动器号或装入点已在使用,则除非使用 noerr 参数,否则会产生一个错误。

您可以使用此命令更改与可移动驱动器关联的驱动器号。

禁止为系统、启动或分页卷分配驱动器号。除了 Msdata 分区之外,此命令不能用于向 OEM 分区或任何 GPT 分区分配驱动器号。

create partition primary [size=n] [offset=n] [id=byte/guid] [noerr]

使用 create partition primary 命令可在当前驱动器上以一定长度大小和起始地址偏移量创建一个主分区。

如果在 MBR 磁盘上未指定 ID 字节,此命令将使用类型“0x6”创建分区。可以使用 ID 参数指定分区类型。不对 ID 字节进行有效性校验或其他校验。

如果未在 GPT 磁盘上指定 ID GUID,此命令将创建 Msdata 分区。可以使用 ID 参数指定任何 GUID。不对 GUID 进行有效性、重复性或其他校验。分区示例 GUID 将会被自动生成。

由于创建的是 MBR 和 GPT 分区,因此 Windows 不自动分配驱动器号。您必须显式分配驱动器号。

create partition extended [size=n] [offset=n] [noerr]

使用 create partition extended 命令可在当前驱动器上以一定长度大小和起始地址偏移量创建一个扩展分区。驱动器必须是 MBR 磁盘。

创建分区后,新的扩展分区会得到焦点。只能创建一个扩展分区。只能在创建扩展分区后才能创建逻辑驱动器。

create partition logical [size=n] [offset=n] [noerr]

使用 create partition logical 命令可在当前磁盘的现有扩展分区中以一定长度大小和起始地址偏移量创建一个逻辑驱动器。驱动器必须是 MBR 磁盘。

如果未列出偏移量,则逻辑驱动器将被放在第一个足够大的扩展分区中的未占用连续磁盘范围。如果未列出大小,分区可能扩展至占用整个扩展分区。

创建分区后,逻辑驱动器会得到分区焦点。

create partition msr [size=n] [offset=n] [noerr]

create partition msr 命令相当于使用 MSR GUID E3C9E316-0B5C-4DB8-817D-F92DF00215AE 创建分区。

create partition esp [size=n] [offset=n] [noerr]

create partition esp 命令相当于使用 ESP GUID C12A7328-F81F-11D2-BA4B-00A0C93EC93B 创建分区。

delete partition [noerr] [override]

使用 delete partition 命令可删除当前处于焦点的分区。

Diskpart 禁止删除当前系统、启动或分页卷。要删除 ESP、MSR 或已知 OEM 分区,必须指定 override 参数。

extend [size=n][noerr]

使用 extend 命令可导致当前处于焦点的卷扩展到未分配的连续空间。未分配空间必须在处于焦点的分区之后(前者的扇区偏移量必须大于后者)。此命令用来将现有基本数据分区增大到可扩展硬件 RAID 逻辑单元号 (LUN) 上最近创建的空间。

如果以前曾经使用 NTFS 文件系统对分区进行格式化,则文件系统将自动扩展,以占用更大的分区,并且不会发生数据丢失。如果以前曾经使用 NTFS 以外的任何文件系统格式对分区进行格式化,此命令将失败且不会更改分区。

Diskpart 只禁止当前系统或启动分区进行扩展。

remove [[letter=l]/[mount=path]/[all]] [noerr]

使用 remove 命令可删除当前处于焦点的分区的驱动器号或装入点。如果指定 all 参数,则删除所有当前驱动器号和装入点。如果未指定驱动器号或装入点,则删除驱动器号。

使用此命令可更改与可移动驱动器关联的驱动器号。

禁止删除系统、启动或分页卷的驱动器号。不能使用此命令将驱动器号转移到 OEM 分区、任何具有未识别 GUID 的 GPT 分区或者任何特殊的非数据 GPT 分区(如 ESP 分区)。

管理动态磁盘的命令

您可以使用本节中介绍的命令创建和删除卷、修复容错卷以及导入磁盘。

size 参数始终要四舍五入,以保持 MB 对齐。不能指定显式偏移量。此卷始终放在第一个足够大的未占用连续磁盘范围内。如果未列出大小,则创建尽可能大的卷。

创建卷后,卷焦点将置于最近创建的卷上。如果卷跨越多个磁盘,当前磁盘焦点将丢失。如果删除卷,卷焦点将丢失。如果删除卷之前已经存在一个有效的磁盘焦点,此磁盘焦点将保留。

注意:当任何空磁盘转换为动态或 GPT 磁盘时,Diskpart 在转换后的磁盘上强制创建一个 MSR 分区。

active

使用 active 命令可将当前处于焦点的卷设置为“活动的”。此设置通知固件此分区是有效系统分区。Diskpart 只验证此卷是否可以包含操作系统可启动映像,而不验证分区内容。如果使用此命令,计算机可能无法重新启动。

add disk=n [noerr]

使用 add 命令可向指定磁盘上的当前处于焦点的卷添加镜像。仅支持两个镜像丛。当前处于焦点的卷必须是简单卷。

assign [[letter=l]/[mount=path]] [noerr]

使用 assign 命令可为当前处于焦点的卷分配驱动器号或装入点。如果未指定驱动器号,则分配下一个可用驱动器号。如果此驱动器号或装入点已在使用,则除非指定 noerr 参数,否则将产生一个错误。

禁止为系统、启动或分页卷分配驱动器号。

break disk=n [nokeep] [noerr]

使用 break 命令可断开当前处于焦点的镜像。

默认情况下,两个镜像丛的内容都将保留,原因在于这两个丛都变成了简单卷。如果指定 nokeep 参数,则只保留指定丛,另一个丛将被删除并转换为空闲空间。

原始卷保留所有驱动器号或装入点。如果未保留丛,则焦点仍然保留在指定磁盘上保留的简单卷上。否则,焦点将更改到指定磁盘上指定的保留丛上。此丛变成简单卷;但是,不为新卷分配驱动器号。

create volume simple [size=n] [disk=n] [noerr]

使用 create volume simple 命令可在指定磁盘上以一定长度大小创建一个简单卷。

如果未指定大小,新的卷可以占用磁盘上剩余的连续空闲空间。如果未指定磁盘,则使用当前处于焦点的磁盘。

创建了卷之后,磁盘焦点就被设置给目标磁盘。

create volume stripe [size=n] disk=n[,n[,...]][noerr]

使用 create volume stripe 命令可在指定磁盘上创建带区集卷。带区卷的总大小为每一磁盘上的带区卷大小与磁盘数目相乘 (*) 之积。

如果未指定大小,则创建尽可能大的带区卷。具有最小连续可用空闲空间的磁盘是确定的。此空闲空间的大小决定带区卷的大小。每个磁盘上所分配的带区卷的大小均相同。

create volume raid [size=n] disk=n[,n[,...]][noerr]

使用 create volume raid 命令可在指定磁盘上创建 Raid-5 集卷。每一个磁盘上均分配相当于“Raid-5 卷大小”的空间量。

如果未指定大小,则创建尽可能大的 Raid 5 卷。具有最小连续可用空闲空间的磁盘是确定的。此空闲空间的大小决定 Raid 5 卷的大小,并且从每个磁盘分配的 Raid 5 卷的大小均相同。实际使用的卷大小小于每一磁盘上的 Raid-5 卷大小与磁盘数目相乘之积,因为有些空间用于奇偶校验。

delete disk [noerr][override]

使用 delete disk 命令可从磁盘列表中删除缺失的动态磁盘。

如果未指定 override 参数,将删除磁盘上包含的所有简单卷,并删除所有镜像丛。如果磁盘用于 Raid 5 卷,此命令将失败。

delete partition [noerr] [override]

使用 delete partition 命令可删除当前处于焦点的分区。

Diskpart 禁止删除用于包含现有在线动态卷的任何分区。但这些卷必须被删除,且磁盘必须转换为基本磁盘。要删除 ESP、MSR 或已知 OEM 分区,需指定 override 参数。

可以从动态磁盘上删除分区,但是不能创建这些分区。例如,可以删除动态 GPT 磁盘上未识别的 GPT 分区。如果删除分区,空闲空间将不可用。在无法使用 clean 命令的紧急情况下,可以使用此命令回收损坏的离线动态磁盘上的空间。

delete volume [noerr]

使用 delete volume 命令可删除当前处于焦点的卷。使用此命令后,将丢失所有数据。

extend disk=n [size=n] [noerr]

使用 extend 命令可将当前简单卷或扩展卷扩展到指定磁盘上。extend 命令仅适用于 NTFS 卷。

如果未指定大小,此卷可占用指定磁盘上的所有空闲空间。任何现有磁盘焦点都将丢失。

import [noerr]

使用 import 命令可导入外部磁盘组中的所有磁盘。

如果在外部磁盘组中的任何磁盘上都设置了焦点,就可以导入该组中的所有磁盘。运行此命令后,任何现有卷或磁盘焦点都将丢失。

online [noerr]

使用 online 命令可使以前离线的磁盘或卷重新在线。如果使用此命令,焦点不会发生更改。

remove [[letter=l]/[mount=path]/[all]] [noerr]

使用 remove 命令可删除当前处于焦点的卷的驱动器号或装入点。如果使用 all 参数,将删除所有当前驱动器号和装入点。如果未指定驱动器号或装入点,则删除遇到的第一个路径。

禁止删除系统、启动或分页卷的驱动器号。

retain

使用 retain 命令可准备将动态简单卷用作启动或系统卷。

如果在基于 x86 的计算机上使用 retain 命令,将在动态简单卷上创建一个具有焦点的 MBR 分区。要创建一个 MBR 分区,动态简单卷必须始自一个柱面对齐的偏移量处,而且其大小必须是柱面大小的整数倍。

如果在基于 Itanium 的计算机上使用 retain 命令,retain 命令将在动态简单卷上创建具有焦点的 GPT 分区。

转换磁盘的命令

convert mbr [noerr]

使用 convert mbr 命令可将当前磁盘的分区形式设置为 MBR。磁盘可以是基本磁盘或动态磁盘,但是切勿包含任何有效数据分区或卷。

convert gpt [noerr]

使用 convert gpt 命令可将当前磁盘的分区形式设置为 GPT。磁盘可以是基本磁盘或动态磁盘,但是切勿包含任何有效数据分区或卷。此命令只在基于 Itanium 的计算机上才有效,在基于 x-86 的计算机上可能会失败。

convert dynamic [noerr]

使用 convert dynamic 命令可将基本磁盘改为动态磁盘。磁盘可以包含有效数据分区。

convert basic [noerr]

使用 convert basic 命令可将空的动态磁盘转换为基本磁盘。

其他命令s

exit

使用 exit 命令可停止 Diskpart 并将控制权返回给操作系统。

clean [all]

使用 clean 命令可通过将扇区清零,从当前处于焦点的磁盘删除分区或将卷格式化。默认情况下,仅改写 MBR 或 GPT 分区信息及任何有关 MBR 磁盘的隐藏扇区信息。如果指定 all 参数,可将每个扇区都清零,同时可删除驱动器上包含的所有数据。

rem [...]

rem 命令不执行任何操作,但您可以使用此命令注释脚本文件。

rescan

使用 rescan 命令可重新扫描所有 I/O 总线并可因此发现添加到计算机上的任何新磁盘。

帮助命令s

help

使用 help 命令可显示所有命令列表。

Linux fdisk命令使用方法

     一块硬盘只能有四个主分区(hda1,had2,hda3,hda4)

     一个主分区可以转换为一个扩展分区。在扩展分区上,可以以链表的方式建立逻辑分区

    Linux下逻辑分区自hda5编号,hda1、hda2、hda3、hda4预留为四个主分区

     查看硬盘分区信息 fdisk -l

一、创建分区

 

   fdisk /dev/sda

Command (m for help): 
   a toggle a bootable flag
   b edit bsd disklabel
   c toggle the dos compatibility flag
   d delete a partition ;删除一个分区
   l list known partition types;
列出分区类型

m print this menu ;列出帮助信息;
   n add a new partition ;添加一个分区;包括两个选项

  输入e 硬盘为扩展分割区(extend)。

  输入p 硬盘为主分割区(primary)。 
   o create a new empty DOS partition table
   p print the partition table ;列出分区表;
   q quit without saving changes ;不保存退出;
   s create a new empty Sun disklabel
   t change a partition's system id ;改变分区类型;
   u change display/entry units
   v verify the partition table
   w write table to disk and exit ;把分区表写入硬盘并退出;
   x extra functionality (experts only) ;扩展应用,专家功能;

用fdisk更改分区表后,使更改的分区表立即生效,需要运行partprobe命令。

 

二、格式化

 

mkfs.分区类型 命令来格式化分区,比如我想格式化 sda3为ext3文件系统,则mkfs.ext3 /dev/sda3

 

三、加载文件系统

 

加载 sda3到目前系统来存取文件

mkdir /mnt/sda3

mount /dev/sda3 /mnt/sda3