linux中sfdisk及parted的用法 SFDISK:sfdisk [-?Tvx][-d <硬碟>][-g <硬碟>][-l <硬碟>][-s <分區>][-V <硬碟>]sfdisk為硬碟分區工具程式,可顯示分區的設定資訊,並檢查分區是否正常。參數: www.2cto.com -?或--help 顯示協助。 -d<硬碟> 顯示硬碟分區的設定。 -g<硬碟>或--show-geometry<硬碟> 顯示硬碟的CHS參數。 -l<硬碟> 顯示後硬碟分區的相關設定。 -s<分區> 顯示分區的大小,單位為區塊。 -T或--list-types 顯示所有sfdisk能辨識的檔案系統ID。 -v或--version 顯示版本資訊。 -V<硬碟>或--verify<硬碟> 檢查硬碟分區是否正常。 -x或--show-extend 顯示擴充分區中的邏輯分區。 PARTED: 我們在工作中會發現,我們使用平時的分區工具fdisk不能建立大於2T的分區, 是linux不支援嗎?不對,現在的Linux核心中支援Large Block Device,完全可以使用大於2T的塊裝置 使用parted 建立大小超過2T的分區假設/dev/sdb大小為7T的存放裝置 parted /dev/sdb print 查看分區的情況,找到起始位置 命令列模式的選項 當你調用命令列模式時,Parted的文法是這樣的: # parted [option] device [command [argument]] 有幾個選項可以供你使用。選項: ‘-h’ ‘--help’ 顯示協助資訊 ‘-i’ ‘--interactive’ 進入互動模式 ‘-v’ ‘--version’ 顯示軟體的版本號碼 Parted 互動模式下的命令 GNU Parted 提供以下命令: check(檢查) 格式:check number 檢查編號中所指定的檔案系統是否有什麼錯誤.。 例: (parted) check 1 檢查分區1上的檔案系統. cp(複製) 格式:cp [from-device] from-number to-number 將分區 from-number上的檔案系統完整地複製到分區to-number 中。分區to-number 上的資料會被全部刪除。你可以再指定一個來源硬碟的裝置名稱 from-device來指定來來源資料分割所在的硬碟。 該命令支援以下檔案系統: * ext2, ext3 (所提供的目標資料分割必須比來源資料分割要大) * fat16, fat32 * linux-swap (相當於再目標資料分割執行mkswap 命令) * reiserfs (如果安裝了libreiserfs庫) 例: (parted) cp /dev/hdb 2 3 將/dev/hdb上的第二個分區的內容複寫到第三個分區上。 help(協助) 格式:help [command] 輸出一個命令的協助資訊 例: (parted) help resize 輸出rezize 命令的協助資訊。 mklabel(建立分區表) 格式:mklabel label-type 建 立一個 label-type 類型的磁碟分割表。新的分區表不會有任何分區。這個命令通常不會破壞你的資料,但是它有可能讓你的資料變得不可讀。這是你就需要用到rescue 命令來恢複分區。關於rescue 命令的用法請參見後文。Parted 能在各種分區表上工作。 label-type 必須是一下這些類型: * bsd * loop (raw disk access) * gpt * mac * msdos * pc98 * sun 例: (parted) mklabel msdos 建立一個MS-DOS格式的分區表。這對於PC而言是一個非常常見的操作。 mkfs(建立檔案系統) 格式:mkfs number fs-type 在指定的分區上建立指定的檔案系統。這個命令會破壞該分區上的所有資料。 該命令支援以下檔案系統: * ext2 * fat16, fat32 * linux-swap * reiserfs (如果安裝了libreiserfs庫) 例: (parted) mkfs 2 fat32 在第二個分區上建立FAT32格式的檔案系統。 mkpart(建立新分區) 格式:mkpart part-type [fs-type] start end 建 立一個新的分區。若要建立非擴充分區,就最好用fs-type來指定檔案系統。start和end是新分區開始和結束的具體位置。part-type是以 下類型之一: primary(主要磁碟分割), extended(擴充分區), logical(邏輯分區). 擴充分區和邏輯分區只對msdos 和dvh分區表有效。 fs-type必須是以下檔案系統: * ext2 * fat16, fat32 * hfs, hfs+, hfsx * linux-swap * NTFS * reiserfs * ufs 例: (parted) mkpart logical 0.0 692.1 建立一個包含ext2檔案系統的邏輯分區,其位置是從磁碟的開始位置(0.0)到692.1M之間 。 mkpartfs(建立分區及其檔案系統) 格式:mkpartfs part-type fs-type start end 建 立一個新的分區,並在上面建立檔案系統。與mkpart相似,分區的位置處於begin和end之間,預設的單位是MB.。請勿使用這個命令來恢複一個被 刪除了的分區(應使用mkpart)。part-type是以下類型之一: primary(主要磁碟分割), extended(擴充分區), logical(邏輯分區). 擴充分區和邏輯分區只對msdos 和dvh分區表有效。 fs-type必須是以下檔案系統: * ext2 * fat16, fat32 * linux-swap * reiserfs (如果安裝了libreiserfs庫) 例: (parted) mkpartfs logical ext2 440 670 建立一個a包含ex2格式檔案系統的邏輯分區。其開始位置是440 MB,結束位置是670MB。 move(移動) 格式:move number start end 該 命令能將選定的分區在硬碟中移動。start 可以指定一個新的分區的起始位置。不過,你不能將一個分區移到另一個分區上。也就是說,你只能在閒置地方中移動分區。如果你想改變分區的大小,那麼你所 需要的命令是resize 。另外,雖然分區被移動了,但它的分區編號是不會改變的。 該命令支援以下檔案系統: * ext2, ext3 (所提供的目標資料分割必須比來源資料分割要大) * fat16, fat32 * linux-swap * reiserfs (如果安裝了libreiserfs庫) 例: (parted) move 2 150M 500M 將編號為2的分區移動到硬碟中150M至500M的位置。 name (命名) 格式:name number name 為編號所指定的分區命名(只支援GPT, Mac, MIPS 和PC98 格式的分區)。名字可以用引號括起來。 print (輸出資訊) 格式:print [number] 輸出parted正在操作的硬碟的分區表的資訊,或者是某一個具體分區的資訊。 quit (退出) 格式:quit 退出Parted. 只有當Parted退出後,Linux核心才會知道磁碟的設定已經被改變了。但是實際上只要你一執行一條命令,更改馬上就會寫入磁碟。不過,磁碟緩衝有可能延緩寫入的操作。 rescue (恢複) 格式:rescue start end 如果你不小心用Parted的rm命令刪除了一個分區,那麼這個命令可以幫你恢複。你需要給出所誤刪的分區的大概的開始和結束的位置。Parted 就會在你給出的磁碟地區內去尋找,如果找到這個分區,那麼Parted 就會詢問你是否重建立立這個分區。 resize (調整大小) 格式:resize number start end 將編號所指定的分區調整大小。分區的開始位置和結束位置由start和end決定。resize不會改變分區的編號。注意,如果更改擴充分區的大小,那麼你必須保證新的分區大小能夠容納裡面的邏輯分區。另外,在調整大小前你無須對分區進行磁碟重組。 該命令支援以下檔案系統: * ext2, ext3 – 限制:新的分區開始位置必須和原來的開始位置相同。也就是說,你只能向後擴充分區的大小。 * fat16, fat32 * hfs, hfs+, hfsx – 限制:新的分區開始位置必須和原來的開始位置相同。而且新的end必須小於原來的end。也就是說,你只能夠縮小分區。 * linux-swap * reiserfs (如果安裝了libreiserfs庫) 例: www.2cto.com (parted) resize 3 200M 850M 改變編號為3的分區的大小。其新的位置是200MB至 850MB 之間。 rm (刪除分區) 格式:rm number 將 編號所指定的分區刪除。如果你誤刪了某個分區,那麼你還可以用mkpart來挽救它(而不是用mkpartds)。注意,如果你使用的是MSDOS格式的 分區表,那麼假如你刪除了一個邏輯分區,那麼該分區後面的邏輯分區的編號都會相應地向前改變。例如,你刪除了編號為6的邏輯分區,那麼後面的7、8號邏輯 分區的編號將會改變,分別變成6、7號邏輯分區。若在Linux下。這意味著你可能要改變/etc/fstab檔案。 例: (parted) rm 3 將編號為3的分區刪除。 select (選擇裝置) 格式:select device 選擇Parted將要編輯的磁碟裝置。這個磁碟裝置可以是一個Linux硬碟裝置,一個磁碟片、一個軟RAID磁碟陣或者是LVM邏輯卷。 例: (parted) select /dev/hdb 選擇/dev/hdb作為Parted所要編輯的裝置。 set (設定標記) 格式:set number flag state 更改編號所指定的分區的標記。哪些標記可用是由你的分區表決定的。標記有兩種狀態,要麼是on(生效),要麼是off(失效)。 ‘boot’ (用於Mac, MS-DOS, PC98分區表) - 如果你想從某個分區引導,那麼你應該將這個分區的boot標記設定為on。對於MS-DOS分區表,一個硬碟上只能有一個分區是可引導的。如果你將 LILO裝到某個分區上,那麼這個分區一定是可引導的(也就是說你應該將安裝了LILO的分區的boot標記設為on)。對於PC98分區表,所有 ext3分區都必須是設定為可引導的。(Parted會對此強行操作) ‘lba’ (用於MS-DOS分區表)-這個標記可以告訴MS DOS、MS Windows 9x和 MS Windows ME等系統使用LBA(Logic Block Addressing)模式。 ‘root’ (用於Mac分區表) - 如果某分區是Linux系統的根分區,那麼就要對該分區啟用這個標記。 ‘swap’ (用於Mac分區表) - 如果某分區是Linux系統的交換分區,那麼就要對該分區啟用這個標記。 ‘hidden’ (用於MS-DOS, PC98分區表) - 啟用這個標記能使一個分區‘隱藏’起來。(僅對微軟的作業系統有效) www.2cto.com ‘raid’ (用於MS-DOS分區表)-啟用這個標記能夠告訴Linux系統這是一個軟RAID磁碟陣。 ‘LVM’(用於MS-DOS分區表)-啟用這個標記能夠告訴Linux系統這是一個LVM邏輯。 使用print命令能夠將所有能用的標記顯示出來。 例: (parted) set 1 boot on 將編號為1的分區的boot標記設定為on(生效) unit (設定單位) 格式:unit unit 為Parted選擇一個表示磁碟大小的單位。之後,凡是關於磁碟的位置(如分區的開始位置等等)的數字都是使用這個單位,你就可以不用給出單位尾碼。(如:如果你選擇了MB作為單位,那麼512就代表512MB,你就不用額外打多個MB之類的東西)你可以使用下列單位: www.2cto.com ‘s’ :扇區 (通常一個扇區的大小是512個位元組) ‘B’ byte ‘kB’ kilobyte (1000 bytes) ‘MB’ megabyte (1000000 bytes) ‘GB’ gigabyte (1000000000 bytes) ‘TB’ terabyte (1000000000000 bytes) ‘%’ 表示占整個磁碟裝置的百分之多少(顯而易見,這個數字必須在0和100之間) ‘cyl’ 柱面(這個具體的位置和BIOS的CHS地址有關) ‘chs’ 柱面(cylinders),磁頭(heads),扇區(sectors)的地址(這個具體的位置和BIOS的CHS地址有關) ‘compact’ 這是一個比較奇怪的單位。輸入時是使用MB作為單位,輸出時的單位有可能不同,但是它確保輸出時的單位能使使用者一眼就看得出來磁碟的大小的,而不用心裡默 默地進行複雜的換算。(例如。它會使用1GB而不是使用1024MB,使用2MB而不是2048KB) 一般來說,Parted只會 使用預設的單位進行輸出,除非輸入的時候你沒有給出數位尾碼。你可以在輸入的數字後面加上一個單位來代替預設的單位(單位和數字之間是沒有空格的)。