fdisk分区命令详解与fdisk非交互式分区
1.說明:fdisk如何來學(xué)習(xí)
????fdisk,就是在linux中用來分區(qū)的一個(gè)命令了,至于詳細(xì)的參數(shù),可以man一下,這里給出實(shí)際應(yīng)用過程中最常用的用法,因?yàn)檫@樣比起單純講命令的語法功能更能掌握一個(gè)命令的實(shí)際用法。
????下面的過程是在我自己的實(shí)驗(yàn)環(huán)境中搭建,先把簡要的過程看一下:
(1)添加一塊1GB的磁盤
(2)fdisk詳細(xì)分區(qū)過程
(3)通知Linux內(nèi)核分區(qū)信息的更改
(4)格式化分區(qū)
(5)掛載分區(qū)
????OK!我相信這樣一個(gè)過程下來,你是真正可以做到添加一塊硬盤,并自己做分區(qū)格式化以及使用,這樣的話,意義就真的比單純講fdisk的語法參數(shù)要好得多了!
2.實(shí)戰(zhàn)演示:從添加硬盤到真正可以使用硬盤
(1)添加一塊1GB的磁盤
我是在虛擬機(jī)環(huán)境下直接添加的,方法很簡單,這里就不多說了,下面給出在linux下查看該硬盤的信息:
| 1 2 3 4 5 6 7 8 | [root@xpleaf?~]#?fdisk?-l?/dev/sdb ?? Disk?/dev/sdb:?1073?MB,?1073741824bytes 255?heads,?63?sectors/track,?130cylinders Units?=?cylinders?of?16065?*?512?=8225280?bytes Sector?size?(logical/physical):?512bytes?/?512?bytes I/O?size?(minimum/optimal):?512?bytes/?512?bytes Disk?identifier:?0x00000000 |
(2)fdisk詳細(xì)分區(qū)過程
下面直接給出詳細(xì)過程,重要的一些說明在該過程中已經(jīng)給出,注意看了:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | [root@xpleaf?~]#?fdisk?/dev/sdb?===>直接接磁盤名就可以分區(qū) Device?contains?neither?a?valid?DOSpartition?table,?nor?Sun,?SGI?or?OSF?disklabel Building?a?new?DOS?disklabel?with?diskidentifier?0x7f3aa9cb. Changes?will?remain?in?memory?only,until?you?decide?to?write?them. After?that,?of?course,?the?previouscontent?won't?be?recoverable. ?? Warning:?invalid?flag?0x0000?ofpartition?table?4?will?be?corrected?by?w(rite) ?? WARNING:?DOS-compatible?mode?isdeprecated.?It's?strongly?recommended?to ?????????switch?off?the?mode?(command?'c')?andchange?display?units?to ?????????sectors?(command?'u'). ?? Command?(m?for?help):?m Command?action ??a???toggle?a?bootable?flag ??b???edit?bsd?disklabel ??c???toggle?the?dos?compatibilityflag ??d???delete?a?partition???????????===>刪除一個(gè)分區(qū) ??l???list?known?partition?types???===>查看分區(qū)類型對應(yīng)編號列表 ??m???print?this?menu??????????????===>打印此幫助菜單 ??n???add?a?new?partition??????????===>新建一個(gè)分區(qū) ??o???create?a?new?empty?DOSpartition?table ??p???print?the?partition?table????===>打印分區(qū)表 ??q???quit?without?saving?changes??===>退出但不保存更改 ??s???create?a?new?empty?Sundisklabel ??t???change?a?partition's?system?id???===>更改分區(qū)類型(做LVM時(shí)需要) ??u???change?display/entry?units ??v???verify?the?partition?table ??w???write?table?to?disk?and?exit?????===>將操作寫入分區(qū)表并退出程序 ??x???extra?functionality?(expertsonly) ?? Command?(m?for?help):?n Command?action ??e???extended ??p???primary?partition?(1-4) p???===>新建一個(gè)主分區(qū) Partition?number?(1-4):?1???===>指定主分區(qū)的分區(qū)號碼 First?cylinder?(1-130,?default?1):??===>指定分區(qū)開始的柱面號 Usingdefault?value?1 Last?cylinder,?+cylinders?or+size{K,M,G}?(1-130,?default?130):?+100M ===>指定分區(qū)結(jié)束的柱面號,或者指定分區(qū)大小,讓fdisk自動(dòng)判斷結(jié)束柱面號 Command?(m?for?help):?p ?? Disk?/dev/sdb:?1073?MB,?1073741824bytes 255?heads,?63?sectors/track,?130cylinders Units?=?cylinders?of?16065?*?512?=8225280?bytes Sector?size?(logical/physical):?512bytes?/?512?bytes I/O?size?(minimum/optimal):?512?bytes/?512?bytes Disk?identifier:?0x7f3aa9cb ?? ??Device?Boot??????Start?????????End??????Blocks??Id??System /dev/sdb1???????????????1??????????14??????112423+?83??Linux ?? Command?(m?for?help):?n Command?action ??e???extended ??p???primary?partition?(1-4) e???===>新建一個(gè)擴(kuò)展分區(qū) Partition?number?(1-4):?1 Partition?1?is?already?defined.??Delete?it?before?re-adding?it. ===>由于前面已經(jīng)使用了分區(qū)號碼1,所以這里會(huì)提示錯(cuò)誤 Command?(m?for?help):?n Command?action ??e???extended ??p???primary?partition?(1-4) e Partition?number?(1-4):?2 First?cylinder?(15-130,?default?15):? Usingdefault?value?15 Last?cylinder,?+cylinders?or+size{K,M,G}?(15-130,?default?130):? Usingdefault?value?130 ===>分區(qū)的開始柱面號和結(jié)束柱面號都使用默認(rèn)值,即把剩余磁盤空間分配給該分區(qū) Command?(m?for?help):?p ?? Disk?/dev/sdb:?1073?MB,?1073741824bytes 255?heads,?63?sectors/track,?130cylinders Units?=?cylinders?of?16065?*?512?=8225280?bytes Sector?size?(logical/physical):?512bytes?/?512?bytes I/O?size?(minimum/optimal):?512?bytes/?512?bytes Disk?identifier:?0x7f3aa9cb ?? ??Device?Boot??????Start?????????End??????Blocks??Id??System /dev/sdb1???????????????1??????????14??????112423+?83??Linux /dev/sdb2??????????????15?????????130??????931770???5??Extended ?? ?? Command?(m?for?help):?n Command?action ??l???logical?(5?or?over)??===>由于擴(kuò)展分區(qū)只能有一個(gè),上面新建擴(kuò)展分區(qū)后 ??p???primary?partition?(1-4)??這里就顯示邏輯分區(qū)了,也可以看到fdisk命令, p??????????????????????????????要想新建邏輯分區(qū),需要先新建擴(kuò)展分區(qū) Partition?number?(1-4):?3 No?free?sectors?available ===>這里還想再新建一個(gè)主分區(qū),但是提示已經(jīng)沒有磁盤空間剩余 Command?(m?for?help):?n Command?action ??l???logical?(5?or?over) ??p???primary?partition?(1-4) l???===>新建一個(gè)邏輯分區(qū) First?cylinder?(15-130,?default?15):? Usingdefault?value?15 Last?cylinder,?+cylinders?or+size{K,M,G}?(15-130,?default?130):?+400M ?? Command?(m?for?help):?p ?? Disk?/dev/sdb:?1073?MB,?1073741824bytes 255?heads,?63?sectors/track,?130cylinders Units?=?cylinders?of?16065?*?512?=8225280?bytes Sector?size?(logical/physical):?512bytes?/?512?bytes I/O?size?(minimum/optimal):?512?bytes/?512?bytes Disk?identifier:?0x7f3aa9cb ?? ??Device?Boot??????Start?????????End?????Blocks???Id?System /dev/sdb1???????????????1??????????14??????112423+?83??Linux /dev/sdb2??????????????15?????????130??????931770???5??Extended /dev/sdb5??????????????15??????????66??????417658+?83??Linux ?? Command?(m?for?help):?n Command?action ??l???logical?(5?or?over) ??p???primary?partition?(1-4) l First?cylinder?(67-130,?default?67):? Usingdefault?value?67 Last?cylinder,?+cylinders?or+size{K,M,G}?(67-130,?default?130):? Usingdefault?value?130 ?? Command?(m?for?help):?p ?? Disk?/dev/sdb:?1073?MB,?1073741824bytes 255?heads,?63?sectors/track,?130cylinders Units?=?cylinders?of?16065?*?512?=8225280?bytes Sector?size?(logical/physical):?512bytes?/?512?bytes I/O?size?(minimum/optimal):?512?bytes/?512?bytes Disk?identifier:?0x7f3aa9cb ?? ??Device?Boot??????Start?????????End??????Blocks??Id??System /dev/sdb1???????????????1??????????14??????112423+?83??Linux /dev/sdb2??????????????15?????????130??????931770???5??Extended /dev/sdb5??????????????15??????????66??????417658+?83??Linux /dev/sdb6??????????????67????????130??????514048+??83?Linux ?? Command?(m?for?help):?w?===>保存更改 The?partition?table?has?been?altered! ?? Calling?ioctl()?to?re-read?partitiontable. Syncing?disks. |
OK,可以看到,fdisk的分區(qū)方法是非常簡單的,但是前提就是需要你得對硬盤的知識有一定的了解,比如:硬盤的內(nèi)部結(jié)構(gòu)、磁頭、柱面、扇區(qū)等,這些知識都需要非常熟悉才好,不然的話,使用fdisk來分區(qū)的話也只是--“霧里看花,水中望月”,掌握原理才是最重要的,而使用命令工具只是為了實(shí)現(xiàn)我們的需求,同時(shí)也可以加深我們對原理的理解。
(3)通知Linux內(nèi)核分區(qū)信息的更改
| 1 | [root@xpleaf?~]#?partprobe?/dev/sdb |
分區(qū)完成后,需要此步驟,否則去使用這些分區(qū)時(shí)會(huì)出現(xiàn)錯(cuò)誤信息。當(dāng)然,如果不這樣做的話,也可以采取重新啟動(dòng)系統(tǒng)的方法。
(4)格式化分區(qū)
格式化分區(qū)是為了創(chuàng)建文件系統(tǒng),分配Inode和Block
| 1 2 3 4 5 6 | [root@xpleaf?~]#?mkfs.ext4?/dev/sdb sdb??sdb1??sdb2??sdb5?sdb6?? [root@xpleaf?~]#?mkfs.ext4?/dev/sdb1 …… This?filesystem?will?be?automaticallychecked?every?31?mounts?or 180?days,?whichever?comes?first.??Use?tune2fs?-c?or?-i?to?override. |
最后面提示說系統(tǒng)會(huì)定時(shí)檢查文件系統(tǒng),這里不想系統(tǒng)檢查,則可以使用下面的命令:
| 1 2 3 | [root@xpleaf?~]#?tune2fs?-c?-1/dev/sdb1 tune2fs?1.41.12?(17-May-2010) Setting?maximal?mount?count?to?-1 |
(5)掛載分區(qū)
| 1 2 3 4 5 6 7 | [root@xpleaf?~]#?mount?/dev/sdb1?/mnt [root@xpleaf?~]#?df?-h Filesystem??????Size?Used?Avail?Use%?Mounted?on /dev/sda3???????9.2G?1.8G??7.0G??21%?/ tmpfs???????????937M?????0?937M???0%?/dev/shm /dev/sda1???????194M??34M??151M??19%?/boot /dev/sdb1???????107M?5.6M???96M???6%?/mnt |
這里的掛載是臨時(shí)掛載的,如果需要永久掛載(即開機(jī)掛載),則需要修改/etc/fstab文件,這里就不提及了。
OK,通過上面的實(shí)戰(zhàn)步驟,實(shí)際上已經(jīng)可以掌握fdisk的用法了,這樣的話以后需要添加硬盤、分區(qū)格式化的話,就不會(huì)不知道怎么做了吧?
3.拓展:fdisk如何非交互分區(qū)???
????從上面的fdisk分區(qū)過程可以看到,fidisk使用的是交互式的過程,如果學(xué)過parted命令,應(yīng)該知道parted是可以進(jìn)行非交互式的分區(qū)的,那么這里的問題是,fdisk可以非交互式分區(qū)嗎?
????答案是肯定可以的,請參考下面:
(1)將你要在fdisk命令行輸入的命令實(shí)現(xiàn)寫入一個(gè)文本文件,比如叫做fdisk.txt
(2)然后fdisk.txt的內(nèi)容類似于這樣:
| 1 2 3 4 5 6 | n p 1 0 100M w |
實(shí)際就是我們在交互式時(shí)的分區(qū)過程(當(dāng)然這里與我上面的分區(qū)并非一樣)
(3)然后用類似如下命令實(shí)現(xiàn)自動(dòng)分區(qū):
| 1 | fdisk?/dev/hda?<?fdiskcmd.txt |
OK!內(nèi)容就這么多了,看是沒有用,重在實(shí)踐,希望可以幫到大家!
本文轉(zhuǎn)自 xpleaf 51CTO博客,原文鏈接:http://blog.51cto.com/xpleaf/1683385,如需轉(zhuǎn)載請自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的fdisk分区命令详解与fdisk非交互式分区的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: samba安装与配置
- 下一篇: IntelliJ IDEA删除所有断点