The Wayback Machine - https://web.archive.org/web/20221028215218/https://baike.sogou.com/kexue/d10118.htm

磁盘格式化

编辑

磁盘格式化是准备数据存储设备(如硬盘驱动器、固态驱动器、软盘或USB闪存驱动器)以供初始使用的过程。在某些情况下,格式化操作还可能创建一个或多个新文件系统。对基础介质准备执行格式化的第一步通常被称为“低级格式化”。[1] 分区是格式化第二步的常用术语,它使数据存储设备对操作系统可见。[1] 该过程的第三部分,通常称为“高级格式化”,通常指生成新文件系统的过程。[1]在一些操作系统中,这三个步骤可以全部地或部分地在不同层级上进行组合或重复, 术语“格式化”理解为,一个新磁盘介质完全准备好存储文件的操作。

一般来说, 格式化磁盘会将大部分或部分现有数据保留在磁盘介质上;其中一些或大部分数据可以用特殊工具恢复。[2] 特殊工具可以通过重写所有文件和可用空间来删除用户数据。[3]

1 历史编辑

块是连续的字节数,是通过磁盘驱动器读取磁盘和写入磁盘的最小存储单位。最早的磁盘驱动器具有固定的块大小(例如,20世纪50年代末,IBM 350磁盘存储单元的块大小是100个6位字符),但是从IBM1301开始,[4] IBM销售以可变块尺寸为特征的子系统,即,一个特定磁道可以有不同尺寸的块大小。 IBM系统/360上的磁盘子系统用两个技术扩展了这个概念:计数密钥数据(CKD)和随后出现的扩展计数密钥数据(ECKD);然而,在20世纪90年代,硬盘驱动器中使用可变块大小的现象就消失了;最后支持可变块大小的硬盘之一是1993年5月发布的IBM 3390型号9。[5]

现代硬盘驱动器在其接口上有一组连续的固定大小的块,如串行连接SCSI (SAS) 和串行ATA (SATA)[6] 驱动器,多年以来,磁盘块尺寸都是512字节长,但从2009年开始尤其是2011年的快速发展,所有主要硬盘制造商都开始发布使用Advanced Format(高级格式)的硬盘驱动平台,其中逻辑块为4096字节。[7][8]

软盘通常只使用固定的块尺寸,但这些块大小是主机操作系统与其控制器交互作用函数决定的,因此特定类型的介质(例如5¼英寸DSDD)将因主机操作系统和控制器而具有不同的块尺寸。

光盘通常只使用固定的块尺寸。

2 磁盘格式化过程编辑

通过操作系统和其应用格式化硬盘以备使用通常包括三个不同的过程。

  1. 低级格式化(即最接近硬件)使用以下两种方法标记盘表面:(1)指示记录块开始的标记(现在通常称为扇区标记);(2)其他信息;在常规操作中,这些信息通过磁盘控制器读写数据,比如后来使用的CRC(循环冗余码)块。这是对磁盘的永久基础,通常在工厂完成。
  2. 分区将磁盘分成一个或多个区域,向磁盘写入数据结构以标识区域的开始和结束。这种级别的格式化通常包括检查有缺陷的磁道或有缺陷的扇区。
  3. 高级格式化在磁盘分区或逻辑卷中创建文件系统格式。这种格式化包括操作系统用来识别逻辑驱动器或分区内容的数据结构。这可能发生在安装操作系统或添加新磁盘的过程中。磁盘和分布式文件系统可以为操作系统指定可选的引导块,和/或各种卷以及目录信息。

2.1 软盘的低级格式化

软盘(和早期硬盘)的低级格式化由磁盘驱动器的控制器执行。

比如一个标准的1.44兆字节(MB)软盘,软盘的低级格式化,通常将512字节的18个扇区写入软盘的160个磁道(每侧80个),为磁盘上提供1,474,560字节的存储空间。

实际上,物理扇区大于512字节,因为除了512字节的数据域之外,它们还包括扇区标识域、CRC(循环冗余码校验)字节(在某些情况下是纠错字节)和域之间的间隙。这些额外的字节通常不包括在磁盘总存储容量的具体数字中。

同一介质上可以使用不同的低级格式化;例如,大型记录可以用来减少记录间的间隙尺寸。

多个免费软件、共享软件和自由软件程序(例如GParted、FDFORMAT、NFORMAT和2M)允许对格式化执行更多的控制,允许格式化容量高达2 MB的高密度3.5英寸磁盘。

使用的技术包括:

  • 磁头/磁道扇区倾斜(在侧边向前移动扇区编号,以及磁道步进以减少机械延迟);
  • 交织扇区(通过组织轨道上的扇区来提高吞吐率);
  • 增加每个磁道的扇区数量(虽然正常的1.44兆字节磁盘上的每个磁道只使用18个扇区,但最多可以增加到21个扇区),以及;
  • 增加磁道数量(大多数驱动器可以允许扩展到82个磁道:虽然有些驱动器可以处理更多磁道,但其他驱动器可能会阻塞)。

Linux支持多种扇区大小,[9] DOS和Windows支持记录容量大、DMF格式的软盘。[10]

2.2 硬盘的低级格式化(LLF)

10兆字节ibm pc xt硬盘驱动器的低级格式化

20世纪90年代以前的硬盘驱动器通常有一个单独的磁盘控制器,用来决定数据在介质上的编码方式。使用从不同供应商处购买的介质、驱动器和/或控制器,用户通常能够执行低级格式化。单独采购还可能存在独立组件之间不兼容的可能性,从而使子系统无法可靠地存储数据。

直到20世纪90年代,在小型计算机和个人计算机系统中,用户使用硬盘驱动器低级格式化(LLF)一直很普遍。IBM和其他大型机系统供应商通常提供低级格式化的硬盘驱动器(或者在可移动介质硬盘的情况下提供介质)。通常这包括将磁盘上的每个磁道细分成一个或多个包含用户数据和相关控制信息的块。不同的计算机使用不同的块大小,尤其是IBM使用可变的块大小,但是到了20世纪80年代中期,随着IBM个人电脑的普及,该行业采用了每个块包含512个用户数据字节的标准。

根据系统的不同,低级格式化通常由操作系统实用程序完成。IBM可兼容的个人电脑使用基本输入输出系统(BIOS,该系统是用微软-DOS调试程序进行调用),将控制转移到隐藏在不同BIOS的不同地址的例行程序中。[11]

低级格式化消失的过渡期

从20世纪80年代末开始,随着IBM可兼容的个人电脑数量变多,硬盘驱动器开始使用一种可兼容的低级格式化进行常规可用的预先格式化。与此同时,工业从历史的(无声的)比特串行接口转向现代的(智能的)比特串行接口和字串行接口,其中低级格式化在工厂执行。

如今,在大多数情况下,终端用户最好不要对IDE或ATA硬盘进行低级格式化,事实上,通常不能在现代硬盘上进行低级格式化,因为格式化是在工厂将磁盘组装到驱动器之前在伺服录写(servowriter)装置上完成的。[12][13]

磁盘重新初始化

虽然大多数现代硬盘上(自20世纪90年代中期以来)通常不可能在工厂之外执行完整的低级格式化操作,[14] 但术语“低级格式化”仍然用于将硬盘重新初始化成出厂设置(这些术语甚至可能会被误解)。

目前术语“低级格式化”具有模糊性的原因似乎是:网站上的文档不一致,以及许多用户认为任何低于高级(文件系统)格式化的程序都必须被称为低级格式化。由于现在许多低级格式化程序只能在工厂执行,各种驱动器制造商在其网站上将重新初始化软件描述为低级格式化实用程序。因为用户通常无法确定完整的低级格式化和重新初始化之间的区别(他们只是观察到运行软件会导致硬盘必须进行高级格式化),所以被误导的用户和不同驱动器制造商发出形形色色的信号使这一错误认识根深蒂固。注意:无论这些术语可能存在什么样的误用(在硬盘制造商的网站上搜索所有这些术语),许多网站确实提供了这样的重新初始化实用程序(可能是可引导软盘或光盘映像文件),用来重写每个字节并检查硬盘上损坏的扇区。

重新初始化应包括正确识别(并在可能的情况下备份)任何无法写入驱动器和无法从驱动器中读取的扇区。然而,一些人将该术语仅定义为该过程的一部分,即驱动器的每个扇区只是被写入;通常是将特定值写入磁盘上的每个可寻址位置。

传统上,在IBM兼容机器上进行格式化,物理扇区按照每个INT 1Eh的磁盘参数表(DPT)以0XF6的填充值初始化。这个值也用于雅达利(Atari)掌上电脑。8英寸CP/M软盘通常以0xE5填充值进行预先格式化,[15] 通过数字研究,该值也适用于雅达利1985年发售的家庭和个人电脑,和一些阿姆斯特拉德公司(Amstrad)的已格式化软盘。不同的是,Amstrad使用0xF4作为填充值。一些现代格式化程序改为以0x00值来清空硬盘,有时也称为零填充,而在闪存磁盘上使用0xFF值来减少磨损。0xFF通常也是只读光盘(ROM,不能重新格式化)上使用的默认值。一些高级格式化工具允许设置填充值。

在硬盘上仅执行零填充操作的一种流行方法是使用Unix dd实用程序将零值字节写入驱动器,其中/dev/zero(由零组成的码流)作为输入文件,驱动器本身(或特定分区)作为输出文件。[16] 此命令可能需要几个小时才能完成,并且可以擦除所有文件和文件系统。

SCSI磁盘的另一种方法是使用sg_format[17] 命令发出低级别的SCSI格式化单元命令。

对驱动器进行零填充不一定是擦除敏感数据的安全方法,也不一定是准备一个驱动器和加密文件系统一起使用的安全方法。[18] 零填充消除了该过程不确定的可否认性。

2.3 分区

分区是通过操作系统将信息写入块的过程,这些块属于允许访问的存储设备或介质。一些操作系统允许设备(或其介质)显示为多个设备,即被分成多个设备。

在MS-DOS、Microsoft Windows和UNIX的操作系统(如BSD、Linux和Mac OS X)上,这通常是通过分区编辑器(如fdisk、GNU Parted或磁盘工具)来完成的。这些操作系统支持多个分区。

在当前从OS/360和DOS/360发展而来的IBM大型机操作系统(如z/OS和z/VSE)这是通过ICKDSF实用程序的INIT命令来完成的。[19] 这些操作系统只支持每个设备一个分区,称为卷。ICKDSF功能包括创建卷标和在每个轨道上写入记录0。

软盘没有分区,但是,它们可能需要卷信息才能被操作系统访问,这取决于操作系统。

现在,分区编辑器和ICKDSF不处理硬盘驱动器和光盘驱动器的低级功能,例如写入计时标记,并且它们不能重新初始化已经消磁或丢失出厂设置的现代磁盘。

2.4 高级格式化

高级格式化是在磁盘分区或逻辑卷上设置一个空文件系统,在个人电脑上安装一个引导扇区的过程。操作速度快,有时也称为快速格式化。

可以选择性地扫描整个逻辑驱动器或分区的缺陷,这可能需要相当长的时间。

如果是软盘,高级和低级格式化通常由磁盘格式化软件一次性完成。8英寸软盘通常进行低级格式化,并且填充了0xE5的格式填充值。[15] 自20世纪90年代以来,大多数用做DOS FAT12软盘的5.25英寸和3.5英寸软盘都是在工厂预先格式化。

在当前从OS/360 或DOS/360发展而来的IBM大型机操作系统中,这可以作为文件分配的一部分,由文件系统专用的实用程序来完成,或者采用一些旧的存取方法,在写入新数据时运行。

3 主机保护区编辑

主机保护区,有时也称为隐藏保护区,是硬盘驱动器的一个高级格式化区域,因此该区域通常对其操作系统不可见。

4 重新格式化编辑

重新格式化是在运行的磁盘驱动器上执行的高级格式化,以释放介质中的内容。重新格式化对于每个操作系统都是独一无二的,因为对现有数据的实际处理因操作系统而不同。该过程最重要的方面是它通过其他数据来释放磁盘空间以供备用。要真正“擦除”一切,需要重写介质上的每个数据块;许多高级格式化实用程序没有完成这步操作。

重新格式化通常意味着操作系统和所有其他软件将在格式化完成后将重新安装。与其修复出现故障或安全性损害的安装程序,不如简单地重新格式化所有内容,从头开始。这个过程有各种各样的表达,如“擦除和RELOAD协议(Resource Location and Discovery)”、“NUKE应用程序(清除硬盘中所有资料,不可恢复),pave(位置和速度撷取,position and velocity extraction的首字母缩写)”、“reimage重新镜像”等。

5 格式化编辑

5.1 DOS、OS/2和Windows

MS-DOS 6.22a格式化/U开关不能覆盖分区的内容

格式化命令:MS-DOS、PC DOS、OS/2和Microsoft Windows可以通过格式化命令执行磁盘格式化。格式化程序通常要求事先确认,以防止意外删除数据,但是有些版本的DOS有一个未声明/自动测试选项;如果使用,会跳过通常的确认环节,格式化立即开始。一旦文档被打开,WM/FormatC宏病毒就使用此命令格式化C盘。

无条件格式: /U参数执行无条件格式,[20] 在大多数情况下重写整个分区,阻止软件恢复数据。但是,请注意/U切换仅适用于软盘。从技术上讲,因为如果不使用/Q,软盘除了高级格式化之外,总是执行低级格式化。但是,在硬盘分区的某些情况下,/U切换仅用来阻止在要格式化的分区中创建未格式化的信息,同时保留分区的内容完好无损(仍在磁盘上,但标记为已删除)。在这种情况下,用户的数据仍然可以通过EnCase或磁盘编辑器等专业工具进行恢复。因此,依赖/U来安全重写硬盘分区是不可取的,应该考虑使用专用工具,如DBAN。

重写:在Windows Vista和更高版本中,当他运行起来,非快速格式将会开始重写。在Windows XP及以下版本中,情况并非如此。[21]

OS/2:在 OS/2下,如果使用/L参数(就是“长格式”),则格式化将重写整个分区或逻辑驱动器。这样做增强了CHKDSK恢复文件的能力。

5.2 类Unix的操作系统

传统上,在这些系统上进行磁盘的高级格式化是使用mkfs命令完成的。在Linux(也可能是其他系统)上,mkfs通常是文件系统特定命令的包装器,这些命令的名称为mkfs.fsname,其中fsname是用来格式化磁盘的文件系统名称。[22] 某些不被mkfs特定操作所支持的文件系统有自己的操作工具;例如,Ntfsprogs为NTFS文件系统提供了一个格式化实用程序。

一些Unix和类Unix的操作系统具有更高级别的格式化工具,通常是为了使磁盘格式化更容易和/或允许用户使用相同的工具对磁盘进行分区。其中包括GNU Parted(及其各种图形用户界面前端,如GParted和KDE分区管理器)和在Mac OS X上的磁盘实用程序应用。

6 从格式化磁盘恢复数据编辑

与操作系统删除文件一样,磁盘上的数据在每个[23] 高级格式化中都不会被彻底擦除。相反,磁盘上包含数据的区域仅被标记为可用,并保留旧数据,直到被重写。如果磁盘使用不同于以前在分区上存在的文件系统进行格式化,某些数据可能会被重写,如果使用了相同的文件系统,这些数据就不会被重写。但是,在某些文件系统下(例如NTFS,但不是FAT),文件索引(例如NTFS下的$MFTs,ext2/3下的索引节点,等等)可能不会被写入相同的准确位置。如果分区大小增加,即使FAT文件系统也将在新分区开始时重写更多数据。

从阻止使用恢复工具恢复敏感数据的角度来看,在格式化之前必须用随机数据彻底重写数据(每个扇区),或者格式化程序本身必须执行这种重写,就像对软盘使用DOS FROMAT命令,用格式填充字节值(通常是0X6)填充每个数据扇区。

然而,有一些应用程序和工具,特别是在司法信息技术中使用的,可以恢复常见的被擦除的数据。为了避免敏感数据的恢复,政府组织或大公司使用像古特曼(Gutmann)方法这样的信息销毁方法。[24] 对于普通用户来说,还有一些特殊的应用程序可以通过重写以前的信息来执行彻底的数据销毁。虽然有些应用程序会执行多次写入来确保数据擦除,但是现代硬盘驱动器通常只需要对旧数据进行一次写入。ATA安全擦除可由磁盘实用程序执行,以快速彻底地清空驱动器。[25][26] 消磁是另一种选择;然而,这使得驱动器不可使用。[25]

7 笔记编辑

  1. E.g., formatting a volume, formatting a Virtual Storage Access Method Linear Data Set (LDS) on the volume to contain a zFS and formatting the zFS in UNIX System Services.
  2. Not true for CMS file system[27] on a CMS minidisk, TSS VAM-formatted volume,[28] z/OS Unix file systems[来源请求] or VSAM in IBM mainframes
  3. "The LBAs on a logical unit shall begin with zero and shall be contiguous up to the last logical block on the logical unit"., Information technology — Serial Attached SCSI - 2 (SAS-2), INCITS 457 Draft 2, May 8, 2009, chapter 4.1 Direct-access block device type model overview.
  4. Each process may involve multiple steps, and steps of different processes may be interleaved.
  5. This problem became common in PCs where users used RLL controllers with MFM drives; "MFM drives should not be used on RLL controllers.".
  6. The fact that 8-inch CP/M floppies came pre-formatted with a filler value of 0xE5 is the reason why the value of 0xE5 has a special meaning in directory entries in FAT12, FAT16 and FAT32 file systems. This allowed 86-DOS to use 8-inch floppies out of the box or with only the FAT initialized.
  7. One utility providing an option to specify the desired fill value for hard disks is DR-DOS' FDISK R2.31 with its optional wipe parameter /W:246 (for a fill value of 0xF6). In contrast to other FDISK utilities, DR-DOS FDISK is not only a partitioning tool, but can also format freshly created partitions as , or . This reduces the risk of accidentally formatting the wrong volume.

参考文献

  • [1]

    ^Tanenbaum, Andrew (2001). Modern Operating Systems (2nd ed.). section 3.4.2, Disk Formatting. ISBN 0130313580..

  • [2]

    ^Hermans, Sherman (28 August 2006). "How to recover lost files after you accidentally wipe your hard drive". Linux.com. Retrieved 22 November 2012..

  • [3]

    ^Smithson, Brian (29 August 2011). "The Urban Legend of Multipass Hard Disk Overwrite and DoD 5220-22-M". Infosec Island. Retrieved 22 November 2012..

  • [4]

    ^"IBM 1301 disk storage unit". IBM. Retrieved 2010-06-24..

  • [5]

    ^"IBM 3390 direct access storage device". IBM..

  • [6]

    ^ISO/IEC 791D:1994, AT Attachment Interface for Disk Drives (ATA-1), section 7.1.2.

  • [7]

    ^Smith, Ryan (2009-12-18). "Western Digital's Advanced Format: The 4K Sector Transition Begins". Anandtech..

  • [8]

    ^"Transition to Advanced Format 4K Sector Hard Drives". Seagate Technology..

  • [9]

    ^https://web.archive.org/web/20221028215218/https://tools.ietf.org/doc/fdutils/Fdutils.html#Media-description.

  • [10]

    ^"Definition of Distribution Media Format (DMF)". Microsoft Knowledge Base. 2007-01-19. Archived from the original on 2011-09-14. Retrieved 2011-10-16..

  • [11]

    ^Using DEBUG to Start a Low-Level Format, Microsoft.

  • [12]

    ^"Low level formatting an IDE hard drive". FreePCTech.com. The NOSPIN Group, Inc. Archived from the original on July 16, 2012. Retrieved December 24, 2003..

  • [13]

    ^"Low-Level Format, Zero-Fill and Diagnostic Utilities". The PC Guide. Site Version: 2.2.0 - Version Date: April 17, 2001. Archived from the original on January 3, 2019. Retrieved May 24, 2007..

  • [14]

    ^Many enterprise class HDDs can be low-level formatted to block sizes other than 512 bytes; e.g., Seagate SAS drives Archived 2010-11-29 at the Wayback Machine support sector sizes of 512, 520, 524 or 528 bytes and can reformatted from one size to another..

  • [15]

    ^Schulman, Andrew; Brown, Ralf D.; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) [November 1993]. Undocumented DOS: A programmer's guide to reserved MS-DOS functions and data structures - expanded to include MS-DOS 6, Novell DOS and Windows 3.1 (2 ed.). Addison Wesley. ISBN 0-201-63287-X. ISBN 978-0-201-63287-3. (xviii+856+vi pages, 3.5"-floppy) Errata: [1][2].

  • [16]

    ^"How to Securely Erase (Wipe) a Hard Drive for Free with DD". myfixlog.com. Archived from the original on April 18, 2016..

  • [17]

    ^SG.danny.cz.

  • [18]

    ^Quickly fill a disk with random bits.

  • [19]

    ^Device Support Facilities User's Guide and Reference.

  • [20]

    ^"AXCEL216 / MDGx MS-DOS Undocumented + Hidden Secrets". Retrieved 2008-06-07..

  • [21]

    ^"MSKB941961: Change in the behavior of the format command in Windows Vista". Microsoft Corporation. 2009-02-23. Retrieved 2012-10-24. The format command behavior has changed in Windows Vista. By default in Windows Vista, the format command writes zeros to the whole disk when a full format is performed. In Windows XP and in earlier versions of the Windows operating system, the format command does not write zeros to the whole disk when a full format is performed..

  • [22]

    ^"mkfs(8) - Linux man page". Retrieved 2010-04-25..

  • [23]

    ^Data are destroyed in PC operating systems when the /L (long) option is used on format, for a Partitioned Data Set (PDS) in MVS and for newer file systems on IBM mainframes..

  • [24]

    ^Deleting files permanently[来源可靠?].

  • [25]

    ^"Secure Data Deletion". June 7, 2012. Retrieved 9 December 2013..

  • [26]

    ^"ATA Secure Erase (SE) and hdparm". Created: 2011.02.21, updated: 2013.04.02..

  • [27]

    ^"FORMAT", z/VM CMS Commands and Utilities Reference, z/VM Version 5 Release 4, IBM, 2008, SC24-6073-03, When you do not specify either the RECOMP or LABEL option, the disk area is initialized by writing a device-dependent number of records (containing binary zeros) on each track. Any previous data on the disk is erased..

  • [28]

    ^IBM, "Virtual Access Methods", IBM System/360 Time Sharing System System Logic Summary Program Logic Manual (PDF), IBM, p. 56 (PDF 66), GY28-2009-2, The direct access volumes, on which TSS/360 virtual organization data sets are stored, have fixed-length, page size data blocks. No key field is required. The record overflow feature is utilized to allow data blocks to span tracks, as required. The entire volume, with the current exception of part of the first cylinder, which is used for identification, is formatted into page size blocks..

阅读 2295
版本记录
  • 暂无