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命令搞到配置文件里,开机后显示引导菜单

GRUB官网:https://www.gnu.org/software/grub/index.html

金:http://www.jinbuguo.com/linux/grub.cfg.html

U盘+grub2安装centos8实战的更多相关文章

  1. 【转】将grub2安装到u盘的方法

    将grub2安装到u盘的方法 时间:2015-03-21来源:linux网站 作者:linux人 grub2在各大linux发行版中广泛采用,它非常强大,基本上大多数操作系统都是通过它引导起来的,它的 ...

  2. 制作支持 BIOS+UEFI 的 U 盘 grub2+bootmgr 引导 + deepin_recovery + deepin_iso + win_pe

    网盘下载:https://pan.baidu.com/s/1c2GXPo0 U盘为 FAT32,MBR分区表 1.下载:U盘grub2+bootmgr引导2017.12.6.2.7z 2.解压到 U盘 ...

  3. U盘+GRUB2引导PE或linux镜像

    利用U盘制作启动盘,引导WinPE.Linux安装的文章多如牛毛,与他们相比本文的特点有: 1.用且仅用grbu2做引导.不使用grub4dos,不是使用msdos mbr转到活动分区,到ntldr, ...

  4. 虚拟机上安装centos8.0

    一.准备宿主机 为了培训Hadoop生态的部署和调优技术,需要准备3台虚拟机部署Hadoop集群环境,能够保证HA,即主要服务没有单点故障,可执行基本功能,完成小内存模式的参数调整. 1.1.准备安装 ...

  5. 带EFI支持的GRUB2安装全记录

    版权归作者所有,任何形式转载请联系作者. 作者:keenshoes(来自豆瓣) 来源:https://www.douban.com/note/210077866/  关键词:EFIGRUB2efibo ...

  6. windows下制作linux U盘启动盘或者安装优盘(转)

    windows下制作linux U盘启动盘或者安装优盘(转) Linux发行版排行榜:http://iso.linuxquestions.org/ [方案一]:UltraISO(不推荐,在Window ...

  7. osx 10.11.5 El Capitan U盘制作安装

    osx 10.11.5 El Capitan U盘制作安装 1. 下载osx10.11.5 从mac的 appstore下载(官方原版) 2. U盘8G起(注意备份重要资料) 3. 下载完成之后在Fi ...

  8. 如何使用虚拟机在U盘上安装linux

    如何使用虚拟机在U盘上安装linux 将linux安装到U盘的方法有很多,我觉得用虚拟机还是很方便的,直接上干货 创建虚拟机 我用的vbox,vmware也一样.配置随意一点就好,配置高安装的也快. ...

  9. U盘启动安装CentOS 6.3

    无光驱U盘启动安装CentOS 6.3的一些必要条件: 1.主板要支持U盘启动 2.8G的U盘 3.UltraISO软件 http://www.linuxidc.com/Linux/2010-03/2 ...

随机推荐

  1. 关于Integer类的值使用==比较

    题记:前几天面试Java基础给来了个面试题Integer a=100,b=100;System.out.println(a==b); 当时回答是true,后来面试官又来了一个Integer a=200 ...

  2. abstract class 和 interface 有什么区别?

    声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况.不能创建abstract 类的实例.然 ...

  3. EIGRP-10-弥散更新算法-计算距离,报告距离,可行距离和可行性条件

    对于某个目的网络,EIGRP持续关注它的各种距离参数.EIGRP使用复合度量参数,不过为了简化,这里使用一个没有单位的数值.同样出于简化,这里的EIGRP路由器都不使用水平分割.

  4. Edge浏览器现已支持Tampermonkey(油猴)

    Tampermonkey,Greasemonkey,这种扩展可以让我们的浏览器自动运行我们自己定义的脚本,然后就出现了相关网站(比如https://greasyfork.org/zh-CN)让大家在上 ...

  5. (五)连接查询(SQL99标准)、子查询、分页查询、联合查询

    一.连接查询(SQL99标准) 1.含义:当要查询的数据来自多张表时要使用连接查询 2.语法: select 查询列表 from 表1 别名 [连接类型] join 表2 别名 on 连接条件 [wh ...

  6. Censoring【KMP算法+堆栈模拟】

    Censoring 传送门:链接   来源:UPC8203 题目描述 Farmer John has purchased a subscription to Good Hooveskeeping ma ...

  7. Excel怎样根据出生日期,快速计算出其年龄呢?

    问题:怎样根据出生日期,快速计算出其年龄呢? 方法:DATEDIF函数 Step1:在编辑栏中输入公式:=DATEDIF(E2,TODAY(),”Y”),按回车键. Step2:用鼠标向下拖拽复制公式 ...

  8. sorted排序

    sorted(['bob', 'about', 'Zoo', 'Credit']) # ['Credit', 'Zoo', 'about', 'bob'] ''' 默认情况下,对字符串排序,是按照AS ...

  9. android中getWidth()和getMeasuredWidth()之间的区别

    先给出一个结论:getMeasuredWidth()获取的是view原始的大小,也就是这个view在XML文件中配置或者是代码中设置的大小.getWidth()获取的是这个view最终显示的大小,这个 ...

  10. JavaWeb网上图书商城完整项目--验证码

    1.首先需要集成下面的jar 2.在web.xml配置验证码的servlet <?xml version="1.0" encoding="UTF-8"?& ...