U盤+grub2安裝centos8實戰
阿新 • • 發佈:2020-07-10
1. U盤準備
這裡的U盤也可以換成硬碟
grub2安裝一直失敗,懷疑U盤壞了,下面命令修復了一下
[root@host2 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931.5G 0 disk ├─sda1 8:1 0 2G 0 part /boot └─sda2 8:2 0 929.5G 0 part ├─cl-root 253:0 0 200G 0 lvm / ├─cl-swap 253:1 0 16G 0 lvm [SWAP] └─cl-mnt_data 253:2 0 713.5G 0 lvm /mnt/data sdb 8:16 1 30G 0 disk sdb是我的u盤,這條命令執行了30分鐘才修復完成 [root@host2 ~]# dd if=/dev/zero of=/dev/sdb dd: writing to '/dev/sdb': No space left on device 62980097+0 records in 62980096+0 records out 32245809152 bytes (32 GB, 30 GiB) copied, 2671.13 s, 12.1 MB/s
2. 向U盤安裝grub2
我這邊使用fdisk把U盤建了兩個分割槽sdb1,sdb2
[root@host2 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931.5G 0 disk ├─sda1 8:1 0 2G 0 part /boot └─sda2 8:2 0 929.5G 0 part ├─cl-root 253:0 0 200G 0 lvm / ├─cl-swap 253:1 0 16G 0 lvm [SWAP] └─cl-mnt_data 253:2 0 713.5G 0 lvm /mnt/data sdb 8:16 1 30G 0 disk ├─sdb1 8:17 1 14.5G 0 part └─sdb2 8:18 1 15.5G 0 part 之前用xfs格式的分割槽安裝grub2一直失敗,這裡把第一個分割槽格式化成ext4 [root@host2 ~]# mkfs.ext4 /dev/sdb1 mke2fs 1.44.3 (10-July-2018) Creating filesystem with 3799744 4k blocks and 950272 inodes Filesystem UUID: 6c81f2b3-b24f-48a6-976f-9c467a6d8c39 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done 把第一個分割槽掛載到/mnt/upan [root@host2 ~]# mount /dev/sdb1 /mnt/upan/ 安裝grub2 [root@host2 ~]# grub2-install --boot-directory=/mnt/upan/ /dev/sdb Installing for i386-pc platform. Installation finished. No error reported.
看到No error reported.到這裡grub2已經安裝成功了
看一下U盤目錄,grub2資料夾就是grub程式目錄
[root@host2 upan]# ls
grub2 lost+found
3. 生成grub.cfg
[root@host2 iso]# grub2-mkconfig -o /mnt/upan/grub2/grub.cfg
Generating grub configuration file ...
done
4. 下載iso,並把iso檔案複製到U盤
mv CentOS-8.2.2004-x86_64-dvd1.iso /mnt/upan/iso/CentOS-8.2.2004-x86_64-dvd1.iso
5. 開機設定bios,選擇U盤啟動
啟動完會顯示grub介面,接下來就可以執行命令了
# 設定啟動分割槽,hd0第一塊硬碟,msdos1第一個分割槽
grub> set root=(hd0,msdos1)
# loopback 有點像設定別名
grub> loopback loop /iso/CentOS-8.2.2004-x86_64-dvd1.iso
# grub> linux (loop)/isolinux/vmlinuz initrd=initrd.img linux dd quiet ,可以檢視linux下分割槽格式,如sdc1
# 核心引數inst.stage2 指定映象位置,hd表示在硬碟,/dev/sdc1指定linux可識別的分割槽,/iso分割槽下的目錄
grub> linux (loop)/isolinux/vmlinuz inst.stage2=hd:/dev/sdc1:/iso quiet
grub> initrd (loop)/isolinux/initrd.img
# 從映象啟動
grub> boot
下一篇,把grub命令搞到配置檔案裡,開機後顯示引導選單