通过grub-install命令把grub安装到u盘

①准备一个u盘,容量不限,能有1MB都足够了。

②把u盘格式化(我把u盘格式化成FAT、fat32格式了,最后证明也是成功的)。

③开启linux系统,打开命令行终端,进入root模式,然后输入命令行:

mount   /dev/sdb3   /tmp/boot

grub-install --root-directory=/tmp/boot --no-floppy /dev/sdb

注意:上面/dev/sdb是我的u盘,在linux系统里的盘符吧,那个/dev/sdb3为什么是“3”,这个因不同的实际情况而不同吧。

总的来说,/dev/sdb就是我的u盘的名字,/dev/sdb3就是我的u盘的一个分区。

④这个时候,你会发现,你的u盘,已经多了一个boot目录,里面有一些内容,这个时候,boot目录的路径是/dev/sdb3/boot/。

⑤把“/boot/grub/grub.conf”和“/boot/grub/splash.xpm.gz”,复制到“/dev/sdb3/boot/grub/”下面(也就是“u盘/boot/grub/”)。

⑥然后把/dev/sdb3/boot/grub/grub.conf修改成以下内容:

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE:  You do not have a /boot partition.  This means that

#          all kernel and initrd paths are relative to /, eg.

#          root (hd0,0)

#          kernel /boot/vmlinuz-version ro root=/dev/sda1

#          initrd /boot/initrd-version.img

#boot=/dev/sda

default=0

timeout=5

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title Red Hat Enterprise Linux Server 1280*1024(3.4.0)

root (hd0,0)

kernel /boot/vmlinuz-3.4.0  root=/dev/sda1 selinux=0 init=/sbin/init vga=795 fb:on

initrd /boot/initrd.img-3.4.0

title Red Hat Enterprise Linux Server 1600*1200(3.4.0)

root (hd0,0)

kernel /boot/vmlinuz-3.4.0  root=/dev/sda1 selinux=0 init=/sbin/init vga=858 fb:on

initrd /boot/initrd.img-3.4.0

⑦重启计算机,在BIOS里,设置为从u盘启动,即可。

说明:grub2.0以后支持的是grub.cfg

set default=0

set timeout=5

set gfxmode=1280x1024

menuentry 'Red Hat Enterprise Linux Server 1280*1024(3.4.0)' {

set gfxpayload=1280x1024x32,1024x768x32,800x600x32,800x600x16,800x600,640x480

linux /boot/vmlinuz-3.4.0 root=/dev/sda1 selinux=0 init=/sbin/init vga=795

initrd /boot/initrd.img-3.4.0

}

制作步骤:

先用cfdisk 在U盘中,创建个两个分区,第二个一会儿作为boot分区。

0:mkfs.ext3 /dev/sdc5

1:mount /dev/sdc5 /tmp/boot

2:grub-install --root-directory=/tmp/boot --no-floppy  /dev/sdc(*注意*)

自己修改一下menu.lst文件吧。这个简单。

主板+USB,均引导内核成功,系统未作复杂裁剪,未作压缩镜像

1.      linux内核编译:

具体步骤:

# tar zxvf linux-2.6.tar.gz -C /usr/src

# cd /usr/src/linux2.6

# make menuconfig

# make

# make modules_install

# cp arch/x86/boot/bzImage /boot/vmlinuz-2.6

# make install

对比/boot/grub/grub.cfg文件的改动

2.      安装启动盘(U盘、硬盘)

# Fdisk /dev/sdb

#mkfs.ext2 /dev/sdb1

# mkdir /tmp/boot ; mount /dev/sdb1/tmp/boot

# grub-install--root-directory=/tmp/boot --no-floppy /dev/sdb

# cp /boot/grub/grub.conf /tmp/boot/boot/grub/

# cp /boot/grub//boot/grub/splash.xpm.gz /tmp/boot/boot/grub/

# cp /boot/vmlinuz-2.6.34/mnt/boot/vmlinuz

# cp /boot/initramfs-2.6.34.img/mnt/boot/initramfs.img

3.  构建系统目录

# mkdir dev proc etc sbin bin lib mntusr

# cp /bin /tmp/boot/

# cp –dpr /dev/{console,fd0.hda,hda8,hda9,hda10,initctl,initrd,kmem,mem,null,ram,ram0,ramdisj,sda,tty1,tty} /tmp/boot/

# cp/etc/{default,ld.so.cache,ld.so.conf,login.defs,fstab,groub,init.d,inittab,issue,modules.conf,mtab,nsswitch.conf,pam.d,profile,rc.d} /tmp/boot/

4.  编辑grub.conf

Default为默认启动项

Grub2 grub.cfg

set default=0

set timeout=5

set gfxmode=1280x1024

menuentry 'Red Hat EnterpriseLinux Server 1280*1024(3.4.0)' {

setgfxpayload=1280x1024x32,1024x768x32,800x600x32,800x600x16,800x600,640x480

linux/boot/vmlinuz-3.4.0  root=/dev/sda1selinux=0 init=/sbin/init vga=795

initrd/boot/initrd.img-3.4.0

}

5. 添加必要的命令

例如:ls

Ldd ls,添加对应的依赖库文件;ldd ls > 1.txt

6. 修改initrd

重新编译内核后,可能加入了自定义的模块,就有可能需要修改init文件,而init文件就在initrd中,这里记录下操作步骤,以防遗忘。

1.  cp  /boot/initrd-3.2.img /tmp/mylinux/initrd-3.2.img.gz

这里之所以进行改名,是因为initrd-3.2.img是经过gzip压缩过的,所以需要对其解压,但是gzip对解压的文件的文件后缀名又有要求,所以就先进行改名。

2.   gunzip  initrd-3.2.9.img.gz

3.   cpio  -id

经过以上三步,就在当前目录下解压了initrd文件,从而得到了init文件。

根据自己的需求修改init文件后,通过下面命令重新生成initrd文件。

4.   find  .  | cpio  -H  newc  -o  |  gzip  -9  > /boot/initrd-3.2.9.img

find . | cpio -H newc -o | gzip -9>../initrd.img-3.4.0

7. 内核添加fb0

mknod /dev/fb0 c 29 0

Device Drivers --->

Graphics support --->

Support for frame buffer devices--->

318     31b    35a

1024    1280   1600

8. 添加网络驱动

# initrd,img/init

echo "0: linuxrunning on initrd.img"

echo "1: linuxrunning on usb ext2 filesystem"

read -p "select:" data

if [ $data ="0" ]; then

echo "0: linux running oninitrd.img  selected"

uname -r

insmod lib/modules/3.4.0/kernel/drivers/net/mii.ko

insmod lib/modules/3.4.0/kernel/drivers/net/ethernet/realtek/r8169.ko#添加网络

insmod lib//modules/3.4.0/kernel/drivers/usb/storage/usb-storage.ko#添加USB

sleep 1

mkdir usb

mount /dev/sda1usb

ifconfig -a

ifconfig eth0192.168.1.88

sleep 1

sh

else

echo "1: linux running on usb ext2filesystem  selected"

sleep 1

fi

grub命令 u盘安装linux,通过grub-install命令把grub安装到u盘-总结相关推荐

  1. ThinkPad物理机安装Linux系统实战企业级项目之CentOS安装

    ThinkPad物理机安装Linux系统实战企业级项目之CentOS安装 系统安装 下载CentOS系统制作系统U盘 笔记本电源设置 网络设置 WiFi类型查看验证设置联网 设置固定IP 安装MySQ ...

  2. Win:Win系统下安装Linux的Ubuntu系统的简介、安装之详细攻略

    Win:Win系统下安装Linux的Ubuntu系统的简介.安装之详细攻略 目录 安装图文教程 1.Ubuntu镜像下载 2.设置空间 3.下载并安装Ultraiso软碟通工具 4.及时备份 5.BI ...

  3. linux中 目标不是目录,Linux 中的 Install命令

    install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户.install命令和 语法 install [OPTION]... [-T] SOURCE DEST install [OP ...

  4. 在笔记本上安装 linux系统--Ubuntu 20.04(实体机安装而非虚拟机)

    在笔记本上安装 linux系统–Ubuntu 20.04(实体机安装而非虚拟机) 一.刻录操作系统镜像到U盘 Ubuntu有详细的操作说明(5分钟左右能看完)大概如下 Create a bootabl ...

  5. linux下测试ftp传输,linux下ftp命令使用详解---linux文件传输ftp命令

    linux下ftp命令使用详解---linux文件传输ftp命令 上一篇 / 下一篇  2010-12-18 09:15:35 / 个人分类:Linux ftp(file transfer proto ...

  6. linux教程:通过编译安装ansible解决apt install ansible后无法安装AWX的莫名问题

    通过编译安装ansible解决apt install ansible后无法安装AWX的莫名问题 通过apt install ansible安装的ansible无法正常部署AWX(ansible的一个w ...

  7. 【linux】血泪经验,在安装Linux上一定要创建/data 分区,将数据盘和系统盘分开,方便重新安装系统,随时恢复Linux系统,其实特别简单,还有7个常用技巧

    目录 前言 1,关于Linux 系统盘 2,技巧1,安装linux,拆分/和 /data 分区,在安装配置好也会自动挂载 3,技巧2,使用英文系统,然后切换中文语言,让下载文件夹变英文 4,技巧3,切 ...

  8. mac+usb安装linux系统安装,Mac OS X下制作安装Linux系统的USB启动盘

    帮同学把Linux安装到他们做的一个类似Mac mini大小(一个小盒子)的机器里面.这个其实就是一个pc,不过是基于atom的cpu.经过一 帮同学把Linux安装到他们做的一个类似Mac mini ...

  9. 安装Linux系统与常见命令(一)

    安装Linux系统: 重置root管理员密码 RPM软件包管理器:通过将安装规则与源代码打包到一起,降低软件安装难度. Yum软件仓库:通过将大量常用的RPM软件包存放到一起,解决软件包之间的依赖关系 ...

  10. 华硕fx80ge安装linux,华硕FX80GE火陨版(i7 8750H)笔记本u盘重装系统win8教程

    华硕FX80GE火陨版(i7 8750H)笔记本搭载了Intel 酷睿i7 8750H处理器,CPU主频为2.2GHz,而最高睿频为4.1GHz,电脑运行流畅.另外,电脑还配置了8GB DDR4 26 ...

最新文章

  1. 基于HOG-LBP特征融合的头肩检测研究
  2. mybatis框架中的mapper.xml文件中的头部代码
  3. EXEC函数族的一般规律
  4. 「mysql优化专题」详解引擎(InnoDB,MyISAM)的内存优化攻略?(9)
  5. PHP Checkbox获取选中项与
  6. [BalticOI2014]Friends/[BZOJ4287]新三个和尚
  7. 针对数据泵导出 (expdp) 和导入 (impdp)工具性能降低问题的检查表 (文档 ID 1549185.1)...
  8. 码率多少算是正常的1080p_MP3的频率、比特率、码率与音质的关系(网络整理)...
  9. 什么是计算机在自动控制中的应用,计算机在自动控制中的应用
  10. uniapp加激励广告代码方法
  11. 我们很高兴地宣布我们正在与 OKC 整合
  12. 2015年3月TIOBE编程语言排行榜单
  13. 微信发支付宝红包(花呗)
  14. 赛尔号找不到服务器ip,赛尔号互通版
  15. 致远SPM国资企业解决方案之工会管理
  16. Windows服务简介(转)
  17. 智能语音应用开发之DPL2.0高级特性
  18. 一阶逻辑公式(Skolemisation)
  19. java之 数字加密器
  20. leetcode 496. 下一个更大元素 I(Java版,单调栈解法)

热门文章

  1. 什么是MBS和ABS(资产支撑证券化)
  2. 全球及中国仓储产业竞争发展趋向与营运能力研究报告2022版
  3. 控制结构(强化):12.阿迪玩游戏
  4. 微信红包限额提升方法
  5. kali字体设置-各种字体图标大小调整总结
  6. 西班牙语常用单词(muy bien)
  7. ie visio 打开_Visio viewer 不能从IE打开vsd文件(转) | 学步园
  8. quixel brige 导入UE4的基本设置
  9. Android(四十二):Drawable 转 Bitmap
  10. java 版 mc 手柄_我的世界Java版21w06a