(1)先关机
(2)添加一块硬盘
(3)将硬盘分区,/dev/sdb1为boot分区,/dev/sdb2为swap分区, /dev/sdb3为根分区
(4)调整/dev/sdb2的分区类型为82,指定为swap分区
(5)给/dev/sdb1、/dev/sdb3创建ext4创建文件系统,给/dev/sdb2创建swap文件系统
mkfs -t ext4 /dev/sdb1
mkfs -t ext4 /dev/sdb3
mkswap /dev/sdb2
(6)在/mnt下创建boot目录
mkdir /mnt/boot
(7)挂载boot分区
mount /dev/sdb1 /mnt/boot
(8)使用grub-install工具安装grub
grub-install --root-directory=/mnt /dev/sdb
(9)将/boot/目录下的vmlinuz、initramfs 拷贝到 /mnt/boot目录下
cp /boot/vmlinuz-2.6.32-504.el6.x86_64 /mnt/boot/vmlinuz
cp /boot/initramfs-2.6.32-504.el6.x86_64.img /mnt/boot/initramfs.img
 
(10)在/mnt下创建一个根挂载点,将根分区挂载
mkdir /mnt/root
mount /dev/sdb3 /mnt/root
 
(11)先删除根下的lost+found目录, 再创建根下的结构
rm -fr /mnt/root/lost+found
cd /mnt/root/
mkdir bin boot dev etc home lib lib64 media mnt opt proc root sbin srv sys tmp usr var
(12)将bash程序和ls程序拷贝到/mnt/boot/bin目录下
cp /bin/bash /mnt/root/bin/
cp /bin/ls /mnt/root/bin/
(13)使用ldd命令查看bash程序和ls程序所依赖的C库接口
ldd /bin/bash
ldd /bin/ls
 
(14)再将bash程序 和 ls程序所依赖的库拷贝到/mnt/root/lib64/目录下(从第二个库文件开始拷贝)
cp /lib64/libtinfo.so.5 /mnt/root/lib64/
cp /lib64/libdl.so.2 /mnt/root/lib64/
cp /lib64/libc.so.6 /mnt/root/lib64/
cp /lib64/ld-linux-x86-64.so.2 /mnt/root/lib64/
 
cp /lib64/libselinux.so.1 /mnt/root/lib64/
cp /lib64/librt.so.1 /mnt/root/lib64/
cp /lib64/libcap.so.2 /mnt/root/lib64/
cp /lib64/libacl.so.1 /mnt/root/lib64/
cp /lib64/libc.so.6 /mnt/root/lib64/
cp /lib64/libdl.so.2 /mnt/root/lib64/
cp /lib64/ld-linux-x86-64.so.2 /mnt/root/lib64/
cp /lib64/libpthread.so.0 /mnt/root/lib64/
cp /lib64/libattr.so.1 /mnt/root/lib64/
 
(15)编辑/mnt/boot/grub/grub.conf文件, 添加如下内容
default=0
timeout=5
hiddenmenu
title CentOS 6 yhy
root (hd0,0)
kernel /vmlinuz ro root=/dev/sda3 selinux=0 init=/bin/bash
initrd /initramfs.img
 
(16)先切换根试一试
chroot /mnt/root
 
(17)如果在本机上做根切换没有问题,那么再创建一个新的虚拟机,这个新的虚拟机的硬盘使用刚刚创建的硬盘
(18)如果在启动后,可以使用ls命令显示根下的目录结构,说明grub安装完毕,这就是一个没有应用程序的内核

如何给一块新硬盘安装grub,让它成为一个只有一个内核的系统的更多相关文章

  1. linux服务器添加一块新硬盘不用重新启动机器的操作

    Linux系统添加一块新硬盘不用关闭系统即可加载硬盘信息的操作 因之前换过硬盘重装系统,硬盘上的数据没有拷贝出来,开发人员问我要备份,炸了.我只好联系机房让他把之前换掉的硬盘插回服务器.但是插好之后f ...

  2. [笔记] Ubuntu机器添加新硬盘安装流程

    SSD虽然快,但是容量不够用,买了块希捷4TB的机械硬盘,准备给台机扩容. 安装环境 OS: Ubuntu 18.04 安装新硬盘 问了客服,原来这款机箱已经带了硬盘滑槽,不需要固定螺钉了. 买了SA ...

  3. 为linux添加一块新硬盘并分区

    一---如何增加一块硬盘1:虚拟机添加硬盘2:分区3:格式化4:挂载5:设置可以自动挂载 1---设置里面 2---分区命令 fdisk /dev/sdb开始分区m显示命令列表p显示磁盘分区 同fdi ...

  4. linux不重启挂载磁盘安装grub

    挂载.分区.grub 通过给一块新磁盘安装grub回顾磁盘挂载.分区文件系统创建等操作: 该实验基于(CtonOS6.8:kernel:2.6.32-642.15.1.el6.x86_64) 1.通过 ...

  5. CentOS 挂载(U盘NTFS格式,新硬盘,增加交换分区,扩展根分区等)

    1.挂载fat或者fat32分区的U盘 如果是用VM安装的linux,在vm里挂载U盘有两个前提: 第一,主机里的service要启动: 第二,U盘是连接到虚拟机,而不是主机,需要确认这点: 2.使用 ...

  6. CentOS系统在不重启的情况下为虚拟机添加新硬盘

    一.概述 用过虚拟机的都知道,如果在系统运行的时候去给虚拟机添加一块新设备,比如说硬盘,系统是读取不到这个新硬盘的,因为系统在启动的时候会去检测硬件设备.但是我们也可能会遇到这样的情况,比如正在运行比 ...

  7. iATKOS v7硬盘安装教程(硬盘助手+变色龙安装版)

    这是作者:Tong 写的一篇安装教程 首先感谢:wowpc制作的变色龙安装版.iATKOS作者以及硬盘安装助手作者 前言:现在时代在进步,系统同样也在进步,在以前要在PC上整个Mac是很痛苦的事情,就 ...

  8. RHEL7虚拟机中不重启的情况下加新硬盘及扩展根分区容量

    在VMware中添加一块新的5G硬盘 显示当前分区 # fdisk -l 通常在你在虚拟机中添加一块新硬盘时,你可能会看到新硬盘没有自动加载.这是因为连接到硬盘的SCSI总线需要重新扫描来使得新硬盘可 ...

  9. linux硬盘挂载-新硬盘挂载和扩容硬盘挂载

    这里对当前我实际操作后的两种硬盘挂载进行整理: 第1种是直接添加一块新硬盘,然后进行挂载. 第2种是对硬盘进行扩容后,对扩容后的空间进行分区再进行挂载. [内容为参考网上资料,再加自已实际操作情况进行 ...

随机推荐

  1. jps命令无法找到

    [root@namenode ~]# jpsbash: jps: command not found...[root@namenode ~]# find / -name jpsfind: ‘/run/ ...

  2. HBase的详细安装部署

    一.部署 1.Zookeeper正常部署,并且启动 2.Hadoop正常部署,并且启动 3.Hbase的解压 解压HBase到指定目录 tar -xvf  /HBase.tar.gz -C /airP ...

  3. Executors 挖坑

    Executors 挖坑 线程频繁的创建销毁是有代价的,所以Java为我们提供了线程池 线程池构造方法很多 我们一般使用Executors的工厂方法: public static ExecutorSe ...

  4. 20155306 实验一《Java开发环境的熟悉》实验报告

    实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 1. ...

  5. 20155318 2016-2017-2 《Java程序设计》第二周学习总结

    20155318 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 Java编程风格 基本语法与C相似:调用main函数写public static void ...

  6. new与alloc/init的区别

    alloc:分配内存. init:初始化. new:代替上面两个函数:分配内存,并且初始化. 注意: 1.在实际开发中很少会用到new,一般创建对象时我们一般是 [[className alloc]i ...

  7. VS2013只显示会附加到进程,无法启动调试

    今天在使用VS2013的时候,打开突然发现,只显示附加到进程,无法进行调试,调试位置显示灰色,到网上各处寻求答案,本以为是个大问题,没想到只是个小问题.主要原因只是后台开太多东西了,导致VS2013运 ...

  8. spring 属性文件加载接口---PropertySourceLoader

    org.springframework.boot.config Interface PropertySourceLoader 实现类: PropertiesPropertySourceLoader, ...

  9. Laxcus大数据操作系统2.0(5)- 第二章 数据组织

    第二章 数据组织 在数据的组织结构设计上,Laxcus严格遵循数据和数据描述分离的原则,这个理念与关系数据库完全一致.在此基础上,为了保证大规模数据存取和计算的需要,我们设计了大量新的数据处理技术.同 ...

  10. hdu - 6281,2018CCPC湖南全国邀请赛F题,快排

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6281 题意: 根据已给出的式子,进行排序,然后输出排完序后原先的下表. 题解:用结构体保存,在用结构体 ...