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. ODEINT 求解常微分方程(3)

    import numpy as np from scipy.integrate import odeint import matplotlib.pyplot as plt # function tha ...

  2. hiredis window 源码编译

    编译工具 cmake mingw730_32 版本 hiredis:0.15 cmake: cmake-3.12.4-win64-x64 mingw: 7.3.0 make配置 注意:D:\Qt\Qt ...

  3. is ==小数据池编码解码

    ==      比较      比较的是两边的值    is      比较      比较的是内存地址   判断两个东西指向的是不是同一个对象         取内存地址 id() 小数据池     ...

  4. Dart Memo for Android Developers

    Dart Memo for Android Developers Dart语言一些语法特点和编程规范. 本文适合: 日常使用Kotlin, 突然想写个Flutter程序的Android程序员. Dar ...

  5. TensorFlow从0到1之回归算法(11)

    回归是数学建模.分类和预测中最古老但功能非常强大的工具之一.回归在工程.物理学.生物学.金融.社会科学等各个领域都有应用,是数据科学家常用的基本工具. 回归通常是机器学习中使用的第一个算法.通过学习因 ...

  6. controller场景设计

    场景设计模型-手动场景快增长慢增长指定运行次数组模式 快增长模型:就是压力瞬间启动并且达到最大,通常用于秒杀的场景 loadrunner设置:瞬间启动,瞬间停止 慢增长:压力按照设定的规则慢慢的添加, ...

  7. 一文梳理JS事件

    JavaScript与HTML的交互是通过事件进行的.事件,就是文档或浏览器窗口发生的一些特定的交互瞬间. 事件流 事件捕获 事件冒泡 事件处理程序 事件委托 1. 事件流 如果单机页面上的某个按钮, ...

  8. .NET Framework、.NET Core 和 .NET 5+ 的产品生命周期

    本文整理记录了 .NET Framework..NET Core 和 .NET 各个版本的产品支持周期和操作系统兼容性. 早于 .NET Framework 2.0 和 .NET Core 2.1 的 ...

  9. cb34a_c++_STL_算法_查找算法_(7)_lower_bound

    cb34a_c++_STL_算法_查找算法_(7)_lower_bound//针对已序区间的查找算法,如set,multiset关联容器-自动排序lower_bound()--第一个可能的位置uppe ...

  10. cb18a_c++_修改string对象的方法

    cb18a_c++_修改string对象的方法s.insert(p,t)s.insert(p, 'A'); //迭代器前插入As.insert<p,n,t)s.insert(p, 3, 'B') ...