通过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. SpringBoot服务上线流程
  2. keepalived + glusterfs实现高可用
  3. Mysql事务和锁原理
  4. java 继承和内部类_Java自学-接口与继承 内部类
  5. latex 表格中虚线_如何识别和修复表格识别中的虚线
  6. 百度地图得到两地点(通过经纬度)的距离、 通过经纬度获取详细地址
  7. windows 端口冲突解决
  8. java怎样实现数据库 选择列属性的select查询??_除了不要 SELECT * ,使用数据库还应知道的11个技巧!...
  9. BZOJ 4241 历史研究
  10. 实习成长之路:设计模式一:为什么你明明使用面向对象设计语言总写面向过程的程序?
  11. 一台计算机固定一个ip地址,两台电脑如何分享一个固定的IP地址
  12. python 幂次方_python次方运算
  13. eclipse中,jdk7和jdk8并存开发的实现方式
  14. 一种让你无法拒绝的浏览设置,CSDN浏览器
  15. windows10系统插耳机有回声解决办法?
  16. linux 搭建论坛(虚拟机)
  17. 如何在html编辑文字信息,怎样简单修改网页中的内容,例如图片文字等?
  18. Spring 七大模块介绍
  19. 简述igp和egp_路由协议的常见分类——GGP、EGP和IGP介绍
  20. 魔兽最多人的服务器,魔兽世界9.0人口最多的服务器_魔兽世界

热门文章

  1. 旧金山,这几天天气不错
  2. C++之路进阶——codevs2313(星际竞速)
  3. 仿网易新闻评论“盖楼”效果实现
  4. Python replace() 方法
  5. 【CSDN超实用的浏览器插件】——去广告、快捷搜索、自定义工具等诸多功能等你探索
  6. input中鼠标点击清楚按钮之后的聚焦回input的方法
  7. ppt html5转换,PPT还能转H5?这大概是制作招聘H5最快的方法了...
  8. python格式化输出%s、f格式化字符串、print结束语
  9. flex builder 3 序列号和Flash Builder 4 序列号
  10. IE兼容模式 - 魔鬼还是天使?