【學(xué)習(xí)筆記】Linux基礎(chǔ)(一):磁盤分區(qū)與Linux的安裝(以CentOS為例)
一、磁盤分區(qū)與Linux的安裝(以CentOS為例)
0、說(shuō)在安裝之前
- 在Linux中,“一切設(shè)備皆文件”,設(shè)備在/dev這個(gè)目錄下
- /dev/sd[a-p] 表示SCSI/SATA/USB存儲(chǔ)設(shè)備(硬盤、U盤等),IDE接口的存儲(chǔ)設(shè)備有時(shí)候也會(huì)被仿真為該類型設(shè)備
- /dev/hd[a-d] 表示IDE存儲(chǔ)設(shè)備
- /dev/vd[a-p] 表示虛擬機(jī)中的VirtI/O存儲(chǔ)設(shè)備
- /dev/md[0-127] 表示軟件RAID陣列
- /dev/fd[0-7] 表示軟盤驅(qū)動(dòng)器
- /dev/lp[0-2] 表示LPT并口的打印機(jī),/dev/usb/lp[0-15] 表示USB接口的打印機(jī)
- /dev/input/mouse[0-15] 表示通用鼠標(biāo), /dev/psaux 表示PS/2接口的鼠標(biāo),/dev/mouse 表示當(dāng)前正在使用的鼠標(biāo)
- /dev/scd[0-1]或/dev/sr[0-1] 表示CD-ROM或DVD-ROM光驅(qū),/dev/cdrom 表示當(dāng)前CD-ROM
- /dev/ht0 表示IDE接口的磁帶機(jī),/dev/st0 表示SATA/SCSI串口磁帶機(jī),/dev/tape 表示當(dāng)前磁帶機(jī)
- 用字母來(lái)區(qū)分不同的物理存儲(chǔ)設(shè)備
- 外部存儲(chǔ)設(shè)備的文件名[a-?]是由Linux核心偵測(cè)到磁盤的順序有關(guān),和物理連接情況關(guān)系不大;如連接到主板上的啟動(dòng)硬盤比連接到主板上的非啟動(dòng)硬盤先偵測(cè)到,而外接的USB磁盤最后被偵測(cè)到,先被偵測(cè)到的設(shè)備占據(jù)字母表較前的字母
- 用字母后面的數(shù)字來(lái)區(qū)分同一物理存儲(chǔ)設(shè)備上的不同分區(qū)
- MBR分區(qū)表允許有最多四個(gè)主分區(qū)(Primary Partition)或擴(kuò)展分區(qū)(受OS制約,擴(kuò)展分區(qū)往往最多只能有一個(gè)),擴(kuò)展分區(qū)(Extended Partition)又可以被分為若干個(gè)邏輯分區(qū)(Logical Partition);擴(kuò)展分區(qū)不能被格式化,擴(kuò)展分區(qū)只是邏輯分區(qū)的“容器”,只有主分區(qū)和邏輯分區(qū)可以被格式化
- 1-4標(biāo)記四個(gè)主分區(qū)或擴(kuò)展分區(qū),被用作主分區(qū)則會(huì)被有效占用,沒(méi)被使用或被用作擴(kuò)展分區(qū)則會(huì)被保留
- 邏輯分區(qū)從5開(kāi)始標(biāo)記
- GPT(GUID)分區(qū)方案統(tǒng)一采用LBA為存儲(chǔ)區(qū)編址,預(yù)設(shè)一個(gè)LBA塊為512Bytes,可調(diào)節(jié)為4KBytes大小;GPT分區(qū)表占用34+33個(gè)LBA塊;LBA0位MBR兼容區(qū)塊,防止MBR模式下破壞GPT分區(qū),LBA1位GPT表頭,記錄GPT分區(qū)表位置和校驗(yàn)信息,LBA2-33位實(shí)際分區(qū)表,之后還有33個(gè)LBA塊作為分區(qū)表備份
- 所有的GPT分區(qū)都是平等的
- GPT分區(qū)最多128個(gè)
- fdisk工具不能識(shí)別GPT分區(qū)表,而gdisk和parted可以
- 由于存放Bootloader的/boot啟動(dòng)分區(qū)的存在,系統(tǒng)所在的/分區(qū)基本上在/dev/sda2以后
- MBR分區(qū)表允許有最多四個(gè)主分區(qū)(Primary Partition)或擴(kuò)展分區(qū)(受OS制約,擴(kuò)展分區(qū)往往最多只能有一個(gè)),擴(kuò)展分區(qū)(Extended Partition)又可以被分為若干個(gè)邏輯分區(qū)(Logical Partition);擴(kuò)展分區(qū)不能被格式化,擴(kuò)展分區(qū)只是邏輯分區(qū)的“容器”,只有主分區(qū)和邏輯分區(qū)可以被格式化
- 初期啟動(dòng)的流程:
- MBR方案:Legacy BIOS->MBR(MBR區(qū)域中)->Bootloader(主分區(qū)中)->Kernel(操作系統(tǒng)所在分區(qū)的Boot Sector中)
- GPT+UEFI BIOS方案:UEFI BIOS->Bootloader(啟動(dòng)分區(qū)中的*.efi文件,啟動(dòng)分區(qū)可以是單獨(dú)的,也可以和操作系統(tǒng)共用一個(gè)分區(qū))->Kernel(操作系統(tǒng)所在分區(qū)中)
- Bootloader(也稱PBR)的作用:提供菜單,載入操作系統(tǒng)核心文件,把控制權(quán)交給別的分區(qū)的Bootloader實(shí)現(xiàn)多系統(tǒng)啟動(dòng)
- Linux的Bootloader對(duì)多系統(tǒng)的支持比Windows的Bootloader要友好得多,且安裝LInux的啟動(dòng)程序時(shí)能偵測(cè)到Windows的啟動(dòng)程序,因此建議先安裝Windows,后安裝Linux
- 如果使用的是UEFI BIOS,可能需要關(guān)閉Secure Boot功能,即關(guān)閉對(duì)操作系統(tǒng)的驗(yàn)證,才能啟動(dòng)Linux
- Linux中,通過(guò)目錄樹(shù)查找設(shè)備和文件,通過(guò)“掛載”來(lái)結(jié)合目錄樹(shù)的架構(gòu)和磁盤內(nèi)的數(shù)據(jù)
- “掛載點(diǎn)”是一個(gè)目錄
- 可以將磁盤的某個(gè)分區(qū)(表現(xiàn)為一個(gè)文件)“掛載”到“掛載點(diǎn)”上
- 通過(guò)進(jìn)入“掛載點(diǎn)”這個(gè)目錄,就可以實(shí)現(xiàn)訪問(wèn)掛載好的分區(qū)里的數(shù)據(jù)了
- 根目錄/是最重要的目錄,必須作為掛載點(diǎn)為其掛載某個(gè)磁盤分區(qū)A,對(duì)根目錄下數(shù)據(jù)的讀寫就是對(duì)磁盤分區(qū)A的讀寫
- 其他目錄則可以根據(jù)需求掛載或不掛載其他的磁盤分區(qū)B,C,D……
- 當(dāng)為根目錄(一層或多層)下的某個(gè)目錄掛載上其他磁盤分區(qū)B時(shí),這個(gè)目錄就會(huì)從磁盤分區(qū)A上分離出來(lái),而受到磁盤分區(qū)B的控制,對(duì)這個(gè)目錄的讀寫就是對(duì)磁盤分區(qū)B的讀寫
- 同樣,一個(gè)磁盤分區(qū)可以被掛載到任何的掛載點(diǎn)上,也可以不被掛載
- 鏡像站是主站的完全克隆,并隨時(shí)與主站保持同步,下載Linux安裝鏡像和配套程序時(shí),應(yīng)該使用可靠的當(dāng)?shù)冂R像站,保證下載速度
- CentOS是商業(yè)RHEL發(fā)行版的社區(qū)版本,與RHEL保持最大的兼容,其安裝鏡像的命名:CentOS-7-x86_64-Everything-1503-01.iso
- 7和01說(shuō)明發(fā)行版的版本號(hào)為7.1
- x86_64說(shuō)明該版本鏡像是為64位的x86架構(gòu)編譯的,即x86兼容機(jī)上運(yùn)行的64位操作系統(tǒng)
- Everything是指該鏡像是完整版的(包含所有安裝軟件),此外還有包含大部分安裝軟件的DVD1版,可以直接從安裝介質(zhì)啟動(dòng)Linux系統(tǒng)的LiveCD版以及僅含系統(tǒng)內(nèi)核和少數(shù)重要工具軟件的Minimal版
1、硬盤分區(qū)方案
- 新手建議分兩個(gè)區(qū),一個(gè)掛載/,一個(gè)用作swap分區(qū),但不保險(xiǎn),一旦分區(qū)損壞,整個(gè)/下的數(shù)據(jù)都可能會(huì)丟失
- 更復(fù)雜的分區(qū)方案需要考慮主機(jī)的用途,多分幾個(gè)區(qū),把需要較大容量的目錄和讀寫較為頻繁的目錄掛載到與/不同的其他分區(qū)上,常見(jiàn)的需要單獨(dú)分區(qū)的目錄有:/boot,/home(多用戶的Samba文件共享),/var(Mail Server),/usr(安裝大量應(yīng)用程序)
2、CentOS 7.x的安裝
-
Step0:制作啟動(dòng)介質(zhì)(刻錄光盤或向U盤寫入啟動(dòng)鏡像)
Linux下:
dd if=<path_of_iso_file> of=/dev/<name_of_storage_device>,寫入時(shí)間可能比較長(zhǎng),機(jī)器沒(méi)有反應(yīng),耐心等待 -
Step1:調(diào)整BIOS以優(yōu)先使用光驅(qū)或U盤啟動(dòng)機(jī)器或開(kāi)機(jī)時(shí)直接進(jìn)入啟動(dòng)順序菜單選擇從你的啟動(dòng)介質(zhì)啟動(dòng)
-
Step2:磁盤沒(méi)有超過(guò)2TB,安裝程序默認(rèn)使用MBR分區(qū)表
Note:強(qiáng)制使用GPT分區(qū)的辦法:安裝介質(zhì)的引導(dǎo)界面按Tab,輸入
vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet inst.gpt后回車即可注意:\x20表示下劃線,CentOS_7_x86_64就是安裝介質(zhì)的卷標(biāo)(Label),這里一定要注意卷標(biāo)要和你自己制作的啟動(dòng)盤卷標(biāo)一致(鳥(niǎo)哥沒(méi)說(shuō)清楚,新手容易進(jìn)坑);stage2是安裝環(huán)境(本質(zhì)也是Linux系統(tǒng))啟動(dòng)的第二階段,由Bootloader負(fù)責(zé),如果卷標(biāo)指定不正確,就找不到Bootloader,Linux也不會(huì)載入,安裝環(huán)境也就無(wú)法進(jìn)入了
inst.gpt是強(qiáng)制使用GPT分區(qū)表的關(guān)鍵所在
-
Step3:根據(jù)圖形安裝向?qū)гO(shè)定時(shí)區(qū)、語(yǔ)言與鍵盤布局,選擇需要安裝的軟件(比如是否需要X Window支持,如果需要,那么安裝Gnome桌面環(huán)境還是KDE桌面環(huán)境等)
-
Step4:在選擇安裝位置的頁(yè)面選擇手動(dòng)分區(qū),關(guān)于分區(qū)和文件系統(tǒng)的說(shuō)明如下(本人自己查閱資料并做實(shí)驗(yàn)總結(jié)的,這里對(duì)新人是巨坑,不要照著教程做,要明白原理,根據(jù)自己的系統(tǒng)合理設(shè)計(jì)),分區(qū)的同時(shí)為這些分區(qū)選好掛載點(diǎn)(如/boot,/home,/,swap):
- 根分區(qū)/是必須要分的區(qū),系統(tǒng)大部分沒(méi)有另外掛載的目錄結(jié)構(gòu)都保存在根分區(qū)內(nèi)
- swap分區(qū)是交換分區(qū),起到“虛擬內(nèi)存”的作用,不被掛載,可以適當(dāng)大一點(diǎn)(數(shù)GB,物理內(nèi)存較少是經(jīng)驗(yàn)值為物理內(nèi)存的2倍),當(dāng)然也可以不要
- 先區(qū)分兩組概念:MBR與GPT,Legacy BIOS和UEFI BIOS;前者是兩種磁盤分區(qū)表,后者是兩種不同的BIOS(采用兩種不同的啟動(dòng)機(jī)制);兩組概念彼此獨(dú)立,可以互相搭配產(chǎn)生4種方案,但常用的是MBR分區(qū)表+Legacy BIOS啟動(dòng)方案和GPT分區(qū)表+UEFI BIOS啟動(dòng)方案
- /boot里面有兩個(gè)比較重要的東西,一個(gè)是系統(tǒng)內(nèi)核vmlinuz,另一個(gè)是Bootloader(grub)的相關(guān)配置文件;在UEFI BIOS啟動(dòng)的計(jì)算機(jī)中,還有第三個(gè)重要的東西——*.efi啟動(dòng)文件;/boot分區(qū)大小不需要太大(1G以內(nèi)即可)
- 如果你的計(jì)算機(jī)用的是老舊的Legacy BIOS,為/boot單獨(dú)分區(qū)是可選項(xiàng)
- Legacy BIOS啟動(dòng)方式通過(guò)MBR中的啟動(dòng)代碼調(diào)取活動(dòng)分區(qū)的PBR,PBR也就是Bootloader負(fù)責(zé)啟動(dòng)內(nèi)核
- 如果不為/boot單獨(dú)分區(qū),根分區(qū)就是活動(dòng)分區(qū),/boot只是根分區(qū)下的一個(gè)普通目錄,內(nèi)核和Bootloader也就裝在根分區(qū)下的/boot目錄里了
- 如果為/boot單獨(dú)分區(qū),這個(gè)單獨(dú)的啟動(dòng)分區(qū)就是活動(dòng)分區(qū),內(nèi)核和Bootloader裝在這個(gè)單獨(dú)的分區(qū)里,根分區(qū)下仍然有/boot這個(gè)普通目錄,只不過(guò)里面是空的,起到掛載點(diǎn)的作用,用來(lái)掛載那個(gè)單獨(dú)的啟動(dòng)分區(qū)
- 這兩種方案都能夠正常啟動(dòng),只不過(guò)單獨(dú)制作啟動(dòng)分區(qū)并以只讀方式掛載到/boot下要更加安全,根分區(qū)損壞了,Linux仍然能夠啟動(dòng)
- Legacy BIOS啟動(dòng)方式通過(guò)MBR中的啟動(dòng)代碼調(diào)取活動(dòng)分區(qū)的PBR,PBR也就是Bootloader負(fù)責(zé)啟動(dòng)內(nèi)核
- 如果你的計(jì)算機(jī)用的是較新的UEFI BIOS,建議為/boot單獨(dú)分區(qū)
- UEFI BIOS啟動(dòng)方式下,UEFI BIOS能夠直接搜素任何FAT32分區(qū),找到其中的*.efi啟動(dòng)文件來(lái)直接加載Bootloader
- 大部分UEFI BIOS對(duì)于Linux的ext4文件系統(tǒng)支持不佳,不能正常搜索ext4分區(qū)里的*.efi啟動(dòng)文件,如果根分區(qū)采用非FAT32格式(通常做法)而不為/boot設(shè)置單獨(dú)分區(qū),結(jié)果往往是無(wú)法啟動(dòng)
- 如果將分出單獨(dú)的FAT32格式的啟動(dòng)分區(qū),放入系統(tǒng)內(nèi)核vmlinuz,*.efi啟動(dòng)文件和Bootloader(grub)的相關(guān)配置文件,就能被UEFI BIOS識(shí)別并正常啟動(dòng)Linux了,這時(shí)根分區(qū)下有空的/boot目錄,作為啟動(dòng)分區(qū)的掛載點(diǎn)
- UEFI BIOS啟動(dòng)方式下,UEFI BIOS能夠直接搜素任何FAT32分區(qū),找到其中的*.efi啟動(dòng)文件來(lái)直接加載Bootloader
- 如果你的計(jì)算機(jī)用的是老舊的Legacy BIOS,為/boot單獨(dú)分區(qū)是可選項(xiàng)
- BIOS Boot分區(qū)不被掛載,當(dāng)且僅當(dāng)使用GPT分區(qū)表和Legacy BIOS啟動(dòng)的非常規(guī)方案的時(shí)候需要該分區(qū),這個(gè)分區(qū)是個(gè)GPT分區(qū),采用特殊文件系統(tǒng);BIOS Boot分區(qū)大小不需要太大,2MB以內(nèi)即可
- 采用GPT分區(qū)表+Legacy BIOS啟動(dòng)方案一般是因?yàn)镸BR分區(qū)表難以尋址2TB大硬盤,需要支持大硬盤而主板比較老,只能使用Legacy BIOS啟動(dòng)時(shí)使用該方案
- 能否識(shí)別GPT分區(qū)表和操作系統(tǒng)密切相關(guān),而和使用什么BIOS無(wú)關(guān)
- 使用Lagacy BIOS方式啟動(dòng)時(shí),會(huì)先執(zhí)行MBR中的引導(dǎo)程序,也就是GPT分區(qū)方案下LBA0處的MBR兼容區(qū)塊中的引導(dǎo)代碼(硬盤最前部446KB的代碼),這段代碼會(huì)查詢MBR分區(qū)表(DPT),找到四個(gè)分區(qū)里第一個(gè)活動(dòng)主分區(qū),并轉(zhuǎn)到這個(gè)分區(qū),將控制權(quán)交給該分區(qū)的PBR(也就是Bootloader);在GPT分區(qū)方案下,分區(qū)結(jié)構(gòu)和MBR分區(qū)方案下是不一樣的,因此需要采用MBR分區(qū)方案的一個(gè)特殊的非GPT分區(qū),這就是BIOS Boot分區(qū),充當(dāng)“第一個(gè)活動(dòng)主分區(qū)”,存放PBR和Bootloader相關(guān)文件,這個(gè)Bootloader會(huì)加載GPT分區(qū)中的系統(tǒng)內(nèi)核
- 三種常見(jiàn)分區(qū)類型(分區(qū)管理方式)的解釋:
- 標(biāo)準(zhǔn)分區(qū):普通分區(qū),一旦確定難以調(diào)整大小
- LVM:一種可以彈性增減容量的分區(qū)
- LVM緊張供應(yīng):“更高級(jí)”的LVM,容量取決于實(shí)際使用量,即“要多少給多少,不要不多給”
- 常見(jiàn)的文件系統(tǒng):
- ext2/ext3/ext4:Linux原生文件系統(tǒng),ext3/4具有日志功能
- xfs:RHEL默認(rèn)文件系統(tǒng),對(duì)大型服務(wù)器的大容量存儲(chǔ)非常友好
- vfat:就是Windows里的FAT32文件系統(tǒng),可以同時(shí)被WIndows和Linux識(shí)別,但注意不支持4GB以上的大文件
- 以下不算是嚴(yán)格意義上的文件系統(tǒng),但被列在“文件系統(tǒng)”里,選擇格式化為這些“文件系統(tǒng)”是為了讓系統(tǒng)分辨特殊用途的分區(qū):
- swap:不需要被掛載到目錄樹(shù),充當(dāng)虛擬內(nèi)存,是Linux特殊的文件系統(tǒng)
- BIOS Boot:GPT分區(qū)表下為了兼容Legacy BIOS啟動(dòng)而設(shè)置的特殊分區(qū)
-
Step5:根據(jù)圖形向?qū)гO(shè)置核心管理及網(wǎng)絡(luò)設(shè)定
- Kdump是當(dāng)宕機(jī)是轉(zhuǎn)儲(chǔ)內(nèi)存數(shù)據(jù)的功能,多用于核心除錯(cuò)
- 網(wǎng)卡名應(yīng)為eth0,plp1,em1等類似的名稱
- 最好選擇“網(wǎng)絡(luò)可用時(shí)自動(dòng)連接”,這樣開(kāi)機(jī)后默認(rèn)會(huì)連接網(wǎng)絡(luò)
- 網(wǎng)絡(luò)上的主機(jī)名應(yīng)該一并設(shè)好,各字段習(xí)慣上用.分隔
-
Step6:開(kāi)始安裝,同時(shí)設(shè)定root用戶的密碼和其他一般用戶或管理員的用戶名及密碼
-
Step7:安裝完成!
Note:安裝光盤的其他常用功能:
-
啟動(dòng)時(shí)Troubleshooting-Run a memory test,使用Memtest86+進(jìn)行內(nèi)存測(cè)試,檢查穩(wěn)定性
-
筆記本電腦的電源管理比較特殊,可能裝不上->啟動(dòng)時(shí)按Tab-輸入
nofb apm=off acpi=off pci=noacpi核心參數(shù)-回車;nofb是取消對(duì)顯卡緩存的偵測(cè),apm是早期電源管理機(jī)制,acpi是比較新的電源管理機(jī)制 -
在圖形化安裝界面,通過(guò)Ctrl+Alt+Fn切換到ttyn終端上,其中tty1-5位字符終端,tty6為圖形終端
-
字符終端下使用parted命令手動(dòng)分區(qū):
parted /dev/<name_of_device> mklabel msdos建立MBR分區(qū)表parted /dev/<name_of_device> mkpart [primary/extended/logical] <location_of_start> <location_of_end>建立分區(qū),<location_of_start>和<location_of_end>都使用距離磁盤起始的容量表示,分區(qū)容量=<location_of_end>-<location_of_start>parted /dev/<name_of_device> print顯示分區(qū)情況
Note:掛載點(diǎn)設(shè)定和文件系統(tǒng)選擇+分區(qū)格式化建議切回圖形終端進(jìn)行
-
修復(fù)Linux的grub引導(dǎo)或建立多系統(tǒng)grub引導(dǎo):
-
Step1:啟動(dòng)時(shí)Troubleshooting-Rescue a CentOS System-Continue-OK進(jìn)入安裝鏡像提供的救援Linux環(huán)境
-
Step2:
chroot /mnt/sysimage將根目錄切換到/mnt/sysimage下,也就是硬盤上Linux的根目錄下(救援環(huán)境會(huì)自動(dòng)將硬盤上Linux的根目錄掛載到/mnt/sysimage處) -
Step3:
grub2-install /dev/<name_of_hd_device>重新為硬盤安裝grub引導(dǎo),exit-reboot,即可從硬盤正常啟動(dòng)到Linux -
Step4:如果需要多系統(tǒng)引導(dǎo),Linux下
vim /etc/grub.d/40_custom編輯grub2的自定義配置文件,加入:menuentry "<name_of_Windows_OS>"{ set boot='(hd<number_of_hd_device>,<number_of_windows_partition>)' chainloader +1 }其中,<number_of_hd_device>和<number_of_windows_partition>都是從0開(kāi)始編號(hào)的,例如/dev/sda3下對(duì)應(yīng)的<number_of_hd_device>是0,<number_of_windows_partition>是2;chainloader +1表示讀入指定分區(qū)第一個(gè)扇區(qū)里的PBR以加載Windows的Bootloader(ntldr或bootmgr)
如果需要,
vim /etc/default/grub更改啟動(dòng)菜單等待時(shí)間最后,
grub2-mkconfig -o /boot/grub2/grub.cfg利用/etc中的配置文件更新/boot/grub2/grub.cfg這個(gè)有效啟動(dòng)配置文件即可修改啟動(dòng)菜單實(shí)現(xiàn)Windows的引導(dǎo)Note:Windows下最好將無(wú)法識(shí)別文件系統(tǒng)的Linux分區(qū)隱藏掉(不分配卷標(biāo)),否則容易誤格式化
-
posted on 2020-02-06 18:47 某科學(xué)的小姚同志 閱讀(258) 評(píng)論(0) 收藏 舉報(bào)
浙公網(wǎng)安備 33010602011771號(hào)