格式化
格式化,是指對磁盤或磁盤中的分區(partition)進行初始化的一種操作,這種操作通常會導致現有的磁盤或磁盤分區中所有的文件被清除。格式化通常分為低級格式化和高級格式化。如果沒有特別指明,對硬盤的格式化通常是指高級格式化,而對軟盤的格式化則通常同時包括這兩者。
格式化 | |
---|---|
目錄
基本信息
種類
盤片格式化牽涉兩個不同的程序:低級與高級格式化。前者處理盤片表面格式化賦與磁片扇區數的特質;低級格式化完成後,硬件盤片控制器(disk controller)即可看到並使用低級格式化的成果;後者處理"伴隨着操作系統所寫的特定信息"。
低級格式化
低級格式化(Low-Level Formatting)又稱低層格式化或物理格式化(Physical Format),對於部分硬盤製造廠商,它也被稱為初始化(initialization)。最早,伴隨着應用CHS編址方法、頻率調製(FM)、改進頻率調製(MFM)等編碼方案的磁盤的出現,低級格式化被用於指代對磁盤進行劃分柱面、磁道、扇區的操作。
現今,隨着軟盤的逐漸退出日常應用,應用新的編址方法和接口的磁盤的出現,這個詞已經失去了原本的含義,大多數的硬盤製造商將低級格式化(Low-Level Formatting)定義為創建硬盤扇區(sector)使硬盤具備存儲能力的操作。現在,人們對低級格式化存在一定的誤解,多數情況下,提及低級格式化,往往是指硬盤的填零操作。
對於一張標準的1.44 MB軟盤,其低級格式化將在軟盤上創建160個磁道(track)(每面80個),每磁道18個扇區(sector),每扇區512位位組(byte);共計1,474,560位組。需要注意的是:軟盤的低級格式化通常是系統所內置支持的。通常情況下,對軟盤的格式化操作即包含了低級格式化操作和高級格式化操作兩個部分。
高級格式化
高級格式化又稱邏輯格式化,它是指根據用戶選定的文件系統(如FAT12、FAT16、FAT32、NTFS、EXT2、EXT3等),在磁盤的特定區域寫入特定數據,以達到初始化磁盤或磁盤分區、清除原磁盤或磁盤分區中所有文件的一個操作。高級格式化包括對主引導記錄中分區表相應區域的重寫、根據用戶選定的文件系統,在分區中劃出一片用於存放文件分配表、目錄表等用於文件管理的磁盤空間,以便用戶使用該分區管理文件。
方法
簡單地說,格式化就是為磁盤做初始化的工作,以便我們能夠按部就班地往磁盤上記錄資料。好比我們有一所大房子要用來存放書籍,我們不會搬來書往屋裡地上一扔了事,而是要先在裡面支起書架,標上類別,把書分門別類地放好。
我們新購買的磁盤在使用之前,要能讓操作系統認得它,要先寫入一些磁性的記號到磁盤上的每一扇區,便可在該操作系統下取用磁盤上的數據,這個動作就稱為格式化。
高級格式化和低級格式化
格式化動作可分為高級格式化(high-level format)和低級格式化(low-level format)兩種。軟盤只有低級格式化(雖然看上去是高級格式化);而硬盤不僅有高級格式化,還有低級格式化的動作。低級格式化都是針對硬件的磁道為單位來工作,這個格式化動作是在硬盤分區和高級格式化之前做的,通常一般的使用者並不會去做這個動作。
若未特別指明,則一般格式化的動作所指的都是高級格式化。在MS-DOS操作系統當中,我們可以使用FORMAT指令來格式化硬盤與軟盤,例如要格式化一片在磁盤驅動器A:當中的磁盤片,並將開機文件放入該磁盤當中,則使用'FORMAT A: /S'指令,而在Windows操作系統中,格式化的動作則由'資源管理器'來執行(右鍵點擊磁盤名稱-->"格式化……")。
格式化的動作通常是在磁盤的開端寫入啟動扇區(boot sector)的數據、在根目錄記錄磁盤標籤(volume label)、為文件分配表(FAT)保留一些空間,以及檢查磁盤上是否有損壞的扇區,若有的話則在文件分配表標上損毀的記號(一般用大寫字母"B"代表"BAD"),表示在該扇區並不用來儲存數據。
注:在高級格式化之前,通常我們必須為磁盤驅動器指定分區(partition),這是將一個實體磁盤驅動器分為數個分區,以使得不同的操作系統使用不同的分區,或是分為數台邏輯磁盤驅動器,這個動作稱為"磁盤分區"。
區別低級
低級
低級格式化就是將空白的磁盤劃分出柱面和磁道,再將磁道劃分為若干個扇區,每個扇區又劃分出標識部分ID、間隔區GAP和數據區DATA等。可見,低級格式化是高級格式化之前的一件工作,它只能夠在DOS環境來完成。而且低級格式化只能針對一塊硬盤而不能支持單獨的某一個分區。每塊硬盤在出廠時,已由硬盤生產商進行低級格式化,因此通常使用者無需再進行低級格式化操作。其實,我們對一張軟盤進行的全面格式化就是一種低級格式化。
需要指出的是,低級格式化是一種損耗性操作,其對硬盤壽命有一定的負面影響。因此,許多硬盤廠商均建議用戶不到萬不得已,不可"妄"使此招。當硬盤受到外部強磁體、強磁場的影響,或因長期使用,硬盤盤片上由低級格式化劃分出來的扇區格式磁性記錄部分丟失,從而出現大量"壞扇區"時,可以通過低級格式化來重新劃分"扇區"。但是前提是硬盤的盤片沒有受到物理性劃傷。
高級
高級格式化就是清除硬盤上的數據、生成引導區信息、初始化FAT表、標註邏輯壞道等。一般我們重裝系統時都是高級格式化,因為MBR不重寫,所以有存在病毒的可能。MBR病毒可以通過殺毒軟件清除或者在DOS下執行 fdisk /mbr 重寫MBR 以徹底清除病毒。
對比
高級格式化就是和操作系統有關的格式化,低級格式化就是和操作系統無關的格式化。
高級格式化主要是對硬盤的各個分區進行磁道的格式化,在邏輯上劃分磁道。對於高級格式化,不同的操作系統有不同的格式化程序、不同的格式化結果、不同的磁道劃分方法。
低級格式化是物理級的格式化,主要是用於劃分硬盤的磁柱面、建立扇區數和選擇扇區間隔比。硬盤要先低級格式化才能高級格式化,而剛出廠的硬盤已經經過了低級格式化,無須用戶再進行低級格式化了。一般,只有在十分必要的情況下,用戶才需要進行低級格式化,比如說,你的硬盤壞道太多,經常導致存取數據時產生錯誤,甚至操作系統根本無法使用,那麼你就需要進行低級格式化了。再有如果你的硬盤上的某些和低級格式化有關的參數被病毒破壞了,如硬盤間隔係數等,那麼你只有進行低級格式化重新建立這些參數了。
主板格式化
很多主板的CMOS中都提供了進行低級格式化的功能,一般在HDD Low Level Format選項中,你的主板上如果有這個選項,你就可以直接使用其中的Hard Disk Low Level Format Utility進行低級格式化。也有很多主板上沒有低級格式化的功能,如果是這樣的話,那你最好使用該硬盤廠商提供的硬盤管理、低級格式化程序。也有一般通用的低級格式化程序,如DM(Disk Manager),PC-Tools等,如果你的硬盤是比較標準的,也可以使用這些工具進行低級格式化。
操作系統
在Windows和DOS下,都有格式化Format的程序,不過,一旦進行格式化硬盤的工作,硬盤中的數據可是會全部不見喔!所以進行這個動作前,先確定磁盤中的數據是否還有需要,如果是的話先另行備份吧。
如果對硬盤的C區進行格式化,鍵入格式如下:
[ ]內可填入參數,建議大家一般不要填加參數,直接鍵入format C: ,然後回車就可以了,因為對一般人來說填加參數意義不大。
FORMAT常用的參數
/u 對硬盤進行破壞性格式化,如果不添加此參數,硬盤根目錄下將產生一個隱藏的MIRROR映像文件,如果未進行其它硬盤操作,可以用UNFORMAT 恢復原來的硬盤內容,當然最好在格式化硬盤之前,將需要備份的數據等先備份好。
/s 格式化之後將DOS系統文件複製到硬盤根目錄,填加此項參數,硬盤可以啟動至C: 的狀態,這在DOS時代非常有用,現已經沒有什麼實際意義了。
/c 格式化硬盤的同時檢查硬盤扇區並修復壞扇區,這種修復並不十分可靠,還會影響格式化的速度。
/v [label] 格式化後給硬盤加上[ ]內的卷標(名字)。
/q 快速格式化。
還有一些不常用的參數,就不一一介紹了。
我們仍需用WINDOWS98的啟動盤,將其插入計算機的A驅動器,然後打開計算機,按1鍵,按回車,十幾秒後屏幕將出現A: ,因為我們硬盤有3個分區,所以鍵入f: ,回車,屏幕變成F: (如果是2個分區就鍵入e: 回車,如果4個分區,就鍵入g: ,回車,以此類推)鍵入format c: 回車,出現下面提示。
WARNING , ALL DATA ON NON-REMOVABLE DISK
DRIVE C: WILL BE LOST!
Proceed with Format (Y/N)n
意思是說危險,C區數據將丟失,是否格式化?
我們按Y,回車,這時會出現一個進度數字指示,從1開始到99結束,格式化5G硬盤,如果計算機的配置高的話,2分鐘左右可以結束,配置低則也可能要用5、6分鐘,也許更慢些,但如果很長時間,進度數字不動的話,則硬盤有問題,需要更換或維修。
當進度數字閃過99後,出現下面的提示。
Volume label ( 11 characters , ENTER for none)?
意思是讓我們給硬盤起個卷標,也就是名字,如果直接回車,則沒有卷標名稱。
然後會出現格式化完成後,硬盤空間的列表,會告訴我們硬盤的總容量,可用空間,系統占用空間,壞扇區占用空間,卷標,剩餘空間等數據,並回到了F:/ 的狀態,這說明我們已經成功的完成了格式化C分區的格式化,然後還按上面的步驟依次完成對D:區和E:區的格式化工作。
格式化:指對磁盤進行使用前的預處理以便存入數據。一般而言,新盤是必須格式化的,而使用過的舊盤也可以格式化,格式化後磁盤上全部數據將被刪除。
注意:硬盤的格式化是一項非常危險的操作,建議提前備份重要數據,如果沒有及時備份就格的用戶可以在格式化(高級格式化)後用戶可以用一些恢復軟件來恢復重要數據,但是全區恢復的前提是沒對格的分區寫入任何內容。如果寫進內容了,就可能不全部恢復了,但還是能恢復部分數據!
快速格式化
在對磁盤進行格式化時,我們還有一個選擇是"快速格式化"。
當運行常規格式化命令時,會在當前分區的文件分配表中將分區上的每一個扇區標記為空閒可用,同時系統將掃描硬盤以檢查是否有壞扇區,掃描過程中會為每一個扇區打上可用標記。掃描壞扇區的工作占據了格式化磁盤分區的大部分時間。
如果選擇的是快速格式化,那麼將只從分區文件分配表中做刪除標記,而不掃描磁盤以檢查是否有壞扇區。只有在硬盤以前曾被格式化過並且在能確保硬盤沒有損壞的情況下,才可以使用此選項。
數據安全性
理論上講,高級格式化(不論是快速還是普通形式)並沒有真正從磁盤上刪除數據,它只是給數據所在的磁盤扇區的開頭部分寫入了一種特殊的刪除標記,告訴系統這裡可以寫入新的數據。只要在格式化後沒有立刻用全新的數據覆蓋整個硬盤,那麼原來的數據還會好端端在那裡,只需要一些特定的軟件即可恢復原來的數據。
相反地,低級格式化所做的是將磁盤上的每一個扇區用"00"覆蓋,這將完全地破壞硬盤上的所有數據,不再有恢復的可能。
問題解答
格式化能清除硬盤上的病毒麼?
不一定能。只要針對某個分區的格式化命令被執行,這個分區上的一切現有數據就被標記為不可讀。非引導分區的病毒作為一種程序文件自然也就看不到了,當然也就不可能再運行。引導區病毒不能通過格式化消除。
此外,值得注意的是,一個硬盤往往不止一個分區,表現在"我的電腦"中,你會看到從C:開始的好幾個盤符。你必須將所有這些不同盤符的分區格式化之後才能說自己的硬盤上百分百的沒有病毒。否則的話,這個盤被格式化了,那個盤上還有病毒,什麼時候打開別的盤來一讀,病毒又會回來了。
在Windows環境下能格式化所有硬盤分區麼?
答案是"不能"。只要Windows系統啟動起來,在系統盤(一般是C:盤,也可自定義)上就有一些系統文件被鎖定為不可移動或刪除。Windows下的格式化命令是圖形界面的Windows程序,這種程序是Windows操作系統的附屬工具,離開Windows操作系統就無法運行,所以它不能格式化它的"上級"系統程序所在的磁盤分區。
只要不是系統分區,別的分區都可以輕鬆地對之進行格式化的操作。
怎樣格式化所有硬盤分區?
答:想辦法進入DOS,比如用Windows的啟動光盤。進入DOS命令行界面後,使用 FORMAT X:(把X:換成任意字母+半角冒號,"X"必須是FAT格式分區)即可。也可用其他第三方磁盤管理工具比如PQ Magic等。這些磁盤分區軟件,可以在分區的同時對當前分區進行格式化。
Linux
Linux 下有圖形界面的格式化工具:
Gparted,推薦新手使用,界面直觀,操作方便
Ubuntu/Debian 用戶可以用:
apt-get install gparted
來安裝它
另外,Linux 下的格式化命令是 mkfs.[文件系統]
比如
mkfs.ext3
mkfs.vfat
mkfs.ntfs
mkfs.xfs
等等
如果要把 /dev/sda1 格式化為 Ext3 文件系統,就輸入
mkfs.ext3 /dev/sda1
即可完成格式化。其他操作與此相似,都是
mkfs.[文件系統] [分區]
Linux下添加新硬盤及分區格式化要點
在為主機添加硬盤前,首先要了解linux系統下對硬盤和分區的命名方法。
在Linux下對IDE的設備是以hd命名的,第一個ide設備是hda,第二個是hdb。依此類推
一般主板上有兩個IDE接口,一共可以安裝四個IDE設備。主IDE上的兩個設備分別對應hda和hdb,第二個IDE口上的兩個設備對應hdc和hdd。
一般硬盤安裝在主IDE的主接口上,所以是hda;光驅一般安裝在第二個IDE的主接口上,所以是hdc(應為hdb是用來命名主IDE上的從接口)
SCSI接口設備是用sd命名的,第一個設備是sda,第二個是sdb。依此類推
分區是用設備名稱加數字命名的。例如hda1代表hda這個硬盤設備上的第一個分區。
每個硬盤最多可以有四個主分區,作用是用1-4命名硬盤的主分區。邏輯分區是從5開始的,每多一個分區,數字加一就可以。
比如一般的系統都有一個主分區用來引導系統,這個分區對應大家常說的C區,在linux下命名是hda1。後面我們分三個邏輯分區對應常說的D、E、F,在linux下命名是hda5、hda6、hda7
給硬盤分區
在slackware下有兩個分區軟件fdisk和cfdisk
例如現已經有一個硬盤了,添加另一個硬盤到系統
那麼根據命名規則知道這個新添加的硬盤應該是hdb。可用下面命令給硬盤分區
fdisk /dev/hdb
你也可以用cfdisk來分區,命令如下
cfdisk/dev/hdb
格式化硬盤
格式化成ext3格式
mkfs.ext3 /dev/hdb1
格式化成reiserfs的格式
mkfs.reiserfs /dev/hdb1
讓硬盤啟動自動掛載
例如掛載/dev/hdb1分區到/mnt/hd目錄下
用vi編輯/etc/fstab文件,加入如下內容
/dev/dhb1 /mnt/hd reiserfs defaults 1 1
殺毒作用
由于格式化將磁盤內的信息全部刪除,所以病毒也會被一併刪除掉,因此,格式化也經常被當作一個清除病毒的輔助手段。但是,如果病毒是潛伏在主板bios里,或者潛伏在被格式化分區以外的分區內,格式化當然起不到清除病毒的作用。不過,有的病毒存在文件中,格式化也是一個很好的選擇!
格式化(Format)是在物理驅動器(硬盤)的所有數據區上寫零的操作過程,格式化是一種純物理操作,同時對硬盤介質做一致性檢測,並且標記出不可讀和壞的扇區。由於大部分硬盤在出廠時已經格式化過,所以只有在硬盤介質產生錯誤時才需要進行格式化。
DOS啟動
如果你安裝了WIN98,在電腦啟動時按住Ctrl不放,出現啟動選擇菜單,選擇5"Command Prompt Only"即可進入DOS方式。
我們常用的操作系統有windows 9x/Me,NT,2000、windows Xp、windows 2003、Windows 7等,都是可視化的界面。在這些系統之前的人們使用的操作系統是DOS系統。DOS系統已經沒有什麼人使用了,但是dos命令卻依然存在於我們使用的windows系統之中。大部分的DOS命令都已經在Windows里變成了可視化的界面,但是有一些高級的DOS命令還是要在DOS環境下來執行。所以學習命令行對於我們熟練操作Windows系統是很有必要的。
不同的操作系統要用不同的命令進入命令行界面。
在Win9x/Me的開始菜單中的運行程序中鍵入"command"命令,可進入命令行界面。
在Win2000/NT的開始菜單中的運行程序中鍵?quot;cmd"命令,可進入命令行界面。
下面我用講到的DOS命令都可以在Windows Me操作系統中執行。
那麼,我們如何進入命令行窗口?
開始--〉運行--〉鍵入command(也可以直接輸入cmd)命令--〉回車
進入了命令行操作界面(DOS窗口),在DOS窗口中只能用鍵盤來操作。
在DOS中通過輸入英文命令加回車鍵這種方式來執行程序。
退回到A盤
如果我們需要格式化C:盤,那麼不能在C:盤目錄格式化C:盤,而是要退回到A:盤。反正C:盤以外的盤,如果是用啟盤啟動的,那一般啟完成後就是A:盤,如果是用光盤啟動的那般不在A:盤(具體在那個盤要看共有幾個分區,它會自動向後推移)。
FORMAT --格式化命令
眾所周知,新買的磁盤都必須經過格式化後方能使用,FORMAT命令可以完成對軟盤和硬盤的格式化操作,格式為"FORMAT [盤符] [參數]",例如:"FORMAT C: /S"。它有兩個常見的參數:
/Q :進行快速格式化(請注意小心誤格式化) ;
/S :完成格式化,並將系統引導文件拷貝到該磁盤。
VB Format 函數
返回Variant(String),其中含有一個表達式,它是根據格式表達式中的指令來格式化的。
語法
Format(expression[,format[,firstdayofweek[,firstweekofyear]]])
Format函數的語法具有下面幾個部分:
部分
說明
expression
必要參數。任何有效的表達式。
format
可選參數。有效的命名表達式或用戶自定義格式表達式。
firstdayofweek
可選參數。常數,表示一星期的第一天。
firstweekofyear
可選參數。常數,表示一年的第一周。
設置值
firstdayofweek參數有下面設置:
常數
值
說明
vbUseSystem
0
使用 NLS API 設置。
VbSunday
1
星期日(缺省)
vbMonday
2
星期一
vbTuesday
3
星期二
vbWednesday
4
星期三
vbThursday
5
星期四
vbFriday
6
星期五
vbSaturday
7
星期六
firstweekofyear參數有下面設置:
常數
值
說明
vbUseSystem
0
使用 NLS API 設置。
vbFirstJan1
1
從包含一月一日的那一周開始(缺省)。
vbFirstFourDays
2
從本年第一周開始,而此周至少有四天在本年中。
VbFirstFullWeek
3
從本年第一周開始,而此周完全在本年中。
說明
格式化
作法
數字
使用預先定義的命名數值格式或創建用戶自定義數值格式。
日期和時間
使用預先定義的命名日期/時間格式或創建用戶自定義日期/時間格式。
日期和時間序數
使用日期和時間格式或數值格式。
字符串
創建自定義的字符串格式。
如果在格式化數字時沒有指定format,Format會提供與Str函數類似的功能,儘管它是國際化的。然而,以Format作用在正數上不會保留正負號空間,而以Str的話則會。