fdisk只可以使用於小於2T磁盤,大於2T磁盤就須要使用PARTED工具分區linux
1、進入parted
一、parted /dev/sdb
二、(parted) print free
Model: LSI MegaRAID 8708ELP (scsi)
Disk /dev/sdb: 7438GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
17.4kB 7438GB 7438GB Free Space
三、(parted) mklabel gpt
四、(parted) mkpart
Partition name? []? data
File system type? [ext2]? ext3
Start? 0kB
End? 7438GB
Warning: You requested a partition from 0.00kB to 7438GB.
The closest location we can manage is 17.4kB to 7438GB. Is this still acceptable to you?
Yes/No? Yes
五、(parted) quit
2、格式化磁盤
mkfs.ext3 /dev/sdb
ext3不能格式化超過8T的硬盤
mkfs.ext3 -F /dev/sdb ext3格式化超過8T的硬盤
3、掛載硬盤
工具
四:命令行方式
parted -s /dev/sd$i rm 1
parted -s /dev/sd"$i" mklabel gpt
parted -s /dev/sd$i mkpart primary ext3 1 3001G 或者parted -s /dev/sd$i mkpart primary ext3 0% 100%
parted -s /dev/sd$i printoop
GNU parted的指令說明
Parted是支很好用的程式,能夠用來切割磁碟,也能夠變動現有分割區的大小,很好用,尤爲是變動分割區大小的功能超級好用,就像我學習parted的緣由,是為了把個人/usr擴大(因為當初在分割的時候,把usr切過小了)。但網路上彷佛沒有完整一點的parted指令說明,於是我就依據官方document,來作整理,因為小弟的英文程度不是很好,因此恐怕有的地方會有錯,或者有人願意為這文件增長內容,都歡迎指教,謝謝!!
GNU parted
文中的特殊用詞說明:
minor(我不會翻,意思就是在 parted裡的partition編號)
disk label(磁碟標記)
flag(旗標)
指令說明
check
用法:check minor
說明:檢查partition有沒有錯誤
cp
用法:cp [來源裝置] 來源minor 目的minor
注意:加了[]的參數是可有可無的參數。
說明:複製來源partition的檔案系統至目的partition,要注意的是下了這個指令後,會將目的partition本來的資料內容清除喔….要當心。而那個可選擇性的來源裝置選項就是用在」跨裝置」複製檔案系統,很方便吧。
範例:
(parted) cp /dev/hdb 2 3
意思是將/dev/hdb2的檔案系統拷貝至minor 3
支援的檔案系統有:
ext2,ext3(目的partition的容量要大於來源partition)
fat16,fat32
linux-swap
reiserfs
help
用法:help 指令
說明:show出通常的help,或者是某項指令的help說明
mklabel
用法:mklabel 標記類型
有如下這些類型:
bsd,loop(raw disk access)、gpt、mac、msdos、pc9八、sun
說明:為整個磁碟創建一個新的磁碟標記,當創建新的磁碟標記時,此磁碟並沒有任何的partition。,所以尚不能使用,必須使用其餘程式如Gpart來回復partition。
mkfs
用法:mkfs minor 檔案系統類型
說明:為一個partition 創建檔案系統類型,這個動做將會破壞掉此partition的全部資料。
支援的檔案系統類型有:
ext2,mips,fat16,fat32,linux-swap,reiserfs
範例:
(parted)mkfs 2 fat32
為minor 2這個partition創建為fat32的檔案系統類型
mkpart
用法:mkpart 分割區類型 [檔案系統類型] 起始 結束
說明:mkpart用來創建一個新的分割區,分割區類型有primary,extended,
logical。
範例:
(parted)mkpart logical 0.0 692.1
創建一個邏輯分割區,容量為692.1MB。注意的是,由於磁區計算方法不一樣的緣由,也許你在創建容量範圍的時候會產生些微的誤差值,但這並不會對partition形成影響。
mkpartfs
用法:mkpartfs 分割區類型 檔案系統類型 起始 結束
說明:mkpartfs 用來創建一個新的分割區及檔案系統。
範例:
(parted)mkpartfs logical ext2 440 670
創建一個ext2的邏輯分割區,起始為440MB,結束為670MB,這個分割區共計230MB。
move
用法:move minor 起始 [結束]
說明:能夠將整個partition位置移動。若是隻給起始位置,沒給結束位置的話,將會保持這個partition本來的大小。
範例:
(parted)move 2 150
將minor為2的partition起始位置移動到150MB的地方。
name
用法:name minor 名字
說明:為partition命名(只有Mac及PC98能夠用)。
範例:
(parted)name 2 ‘abc’
將partition 2 命名為abc。
print
用法:print
說明:show出parted正在處理的磁碟裝置的分割表。
範例:
(parted) print
Disk geometry for /dev/hda: 0.000-2445.679 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.031 945.000 primary FAT boot, lba
2 945.000 2358.562 primary ext2
3 2358.562 2445.187 primary linux-swap
quit
用法:quit
說明:離開parted。
rescue
用法:rescue start end
說明:用來挽救不當心被你用rm指令delete掉的partition。
範例:
(parted) print
Disk geometry for /dev/hdc: 0.000-8063.507 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.031 8056.032 primary ext3
(parted) rm
Partition number? 1
(parted) print
Disk geometry for /dev/hdc: 0.000-8063.507 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
Oh my god~~不當心把ext3的partition砍了,這時候就rescue就派上用場了
(parted) rescue
Start? 0
End? 8056
Information: A ext3 primary partition was found at 0.031Mb ->
8056.030Mb. Do you want to add it to the partition table?
Yes/No/Cancel? y
(parted) print
Disk geometry for /dev/hdc: 0.000-8063.507 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.031 8056.032 primary ext3
嘿嘿~降就救回來了!!
resize
用法:resize minor 起始 結束
說明:調整partion的大小,要注意,resize只能改變partition大小,並不能改變minor,另外當你在改變ext2,ext3的大小時,新的起始位置必須要和舊的一,也就是說只能動尾不能動頭啦!!
範例:
(parted)resize 3 200 850
調整第3個partition為從200MB ~ 850MB。
rm
用法:rm minor
說明:移除partition,除果你不當心用rm指令搞掉了一個partition,你能夠用mkpart來回復。注意,假如你現在有編號1~8,8個minor,當你把minor
6砍掉時,本來的minor7及minor8就會向前變為minor6及minor7,所以當你有作移除partition動做時,記得要去修改/etc/fstab裡頭的設定喔。
範例:
(parted)rm 3
移除minor3 這個partion。
select
用法:select 裝置名稱
說明:用來直接在parted裡切換裝置。
範例:
(parted)select /dev/hdb
切換處理的裝置到/dev/hdb
set
用法:set minor flag 狀態(on,off)
說明:變更partiton的flag,狀態那欄就是拿來設定flag要打開或關閉用的。Flag有下列幾種:boot、lba、root、swap、hidden、raid、LVM。
範例:
(parted)set 1 boot on
將partition1的旗標設為boot並且將之開啟。
講那麼多,不如作幾個實例看看吧!!
範例 1:增長partition的大小
假如我們的/dev/hda的分割區是如下這樣:
(parted) print
Disk geometry for /dev/hda: 0.000-1000.000 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.063 500.000 primary ext2
2 500.000 625.000 primary linux-swap
由上面能夠看出我們擁有1000MB的空間,partition1用去500MB,partition2用去125MB,還有375MB空間可供運用,假如你想要將剩餘的375MB空間所有都給partition1使用的話,就照著下面的步驟來囉!!
#parted /dev/hda
進入parted,並選擇hda為操做的磁碟
(parted)rm 2
刪除partition2。注意:在通常增長partition空間的情形下並不須要作刪除的動做,因為刪除動做會將partition裡的資料毀損。在這個例子裡,partiton2是linux-swap,swap並不會儲存資料,因此把partiton2刪除了並不會有所影響,我們稍後再創建一個 linux-swap的partition就能夠了。
(parted)resize 1 0.063 874.9
調整partition1的位置為從0.063到874.999,共875MB。
(parted) print
Disk geometry for /dev/hda: 0.000-1000.000 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.063 874.999 primary ext2
(parted)mkpartfs primary linux-swap 875 999.9
創建新的linux-swap partition。
(parted) print
Disk geometry for /dev/hda: 0.000-1000.000 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.063 874.999 primary ext2
2 875.000 1000.000 primary linux-swap
這樣就大功告成啦~~
範例2:增長一個即將不夠用的partition空間
假設我們的/dev/hda以下:
(parted) print
Disk geometry for /dev/hda: 0-8063.5 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.0 23.5 primary ext2 boot
2 23.5 8056.0 extended
5 23.6 3545.6 logical ext2
6 3545.6 7067.7 logical ext2
7 7067.7 7326.5 logical ext2
8 7326.5 7585.4 logical ext2
9 7585.4 7844.2 logical linux-swap
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda8 251M 31M 207M 13% /
/dev/hda1 23M 2.4M 19M 11% /boot
/dev/hda5 3.4G 577M 2.7G 18% /usr
/dev/hda6 3.4G 289M 2.9G 9% /home
/dev/hda7 251M 12M 226M 5% /var
若是我們想增長/var空間到1GB,而這想要增長的空間哪來呢??從/home拿過來好了。照著下面步驟來吧!!
(parted)resize 6 3545.6 6200
縮小/home的空間至500MB
(parted)mkpartfs logicai ext2 6200 7067.7
創建一個新的partition,這個partition將被編號為10。
(parted)cp 7 10
將partition7(/var)的內容copy到新建的partition10上。
(parted)rm 7
刪除partition 7,到了這個地方,由於partition 7被刪除了,於是本來的partition八、九、10號碼往前挪變成了partiton 七、八、9。
(parted)resize 9 6200 7326.5
調整partition9(新的/var)大小為1G。到此,整個調整partition大小的動做只算完成了一半喔!!因為我們有新增partition也有刪除partition,甚至連/var的parition位置都變了,因此最後的動做就是更改/etc/fstab囉!!
本來的/etc/fstab內容以下:
/dev/hda8 / ext2 defaults 1 1
/dev/hda1 /boot ext2 defaults 1 2
/dev/hda6 /home ext2 grpquota,usrquota 0 2
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0
/dev/hda5 /usr ext2 defaults 1 2
/dev/hda7 /var ext2 grpquota,usrquota 0 2
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
none /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
/dev/hda9 swap swap defaults 0 0
parted作完後的變動以下:
/var變成了/dev/hda9
/ 變成了/dev/hda7
swap變成了/dev/hda8
所以修改後的/etc/fstab以下:
/dev/hda7 / ext2 defaults 1 1
/dev/hda1 /boot ext2 defaults 1 2
/dev/hda6 /home ext2 grpquota,usrquota 0 2
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0
/dev/hda5 /usr ext2 defaults 1 2
/dev/hda9 /var ext2 grpquota,usrquota 0 2
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
none /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
/dev/hda8 swap swap defaults 0 0
ui