/******************************************************************************
* Linux U盘 启动盘
* 说明:
* 之前一直有个想法,那就是将x86的系统放在U盘中,像ARM那样做,但一直也不知
* 道大概要怎么查资料,最近搞redhat,查到了一些相关资料,记录一下。
*
* 2017-3-6 深圳 南山平山村 曾剑锋
*****************************************************************************/ 一、参考文档:
. 制作一个linux的u盘最小系统
http://zhuyi108.blog.51cto.com/2087327/845246
. 制作u盘启动linux系统
http://www.voidcn.com/blog/mr_zhaojy/article/p-5974248.html
. U 盘启动LINUX
http://blog.csdn.net/clozxy/article/details/5865632
. 定制自己的U盘Linux系统
http://mowblog.com/%E5%AE%9A%E5%88%B6%E8%87%AA%E5%B7%B1%E7%9A%84u%E7%9B%98linux%E7%B3%BB%E7%BB%9F/
. CDlinux HOWTOs 文档
http://cd-linux.sourceforge.net/archive/0.4/howto-cn.html
. GRUB (简体中文)
https://wiki.archlinux.org/index.php/GRUB_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
. 什么是 initrd.img
http://blog.csdn.net/chrisniu1984/article/details/3907874
. Linux2. 内核的 Initrd 机制解析
https://www.ibm.com/developerworks/cn/linux/l-k26initrd/
. Linux 初始 RAM 磁盘(initrd)概述
https://www.ibm.com/developerworks/cn/linux/l-initrd.html
. Linux 引导过程内幕
https://www.ibm.com/developerworks/cn/linux/l-linuxboot/
. LINUX下三个内核文件详解(vmlinuz/initrd.img/System.map)
https://www.path8.net/tn/archives/5304 二、基本操作说明:
. U盘(SD卡)分两个区:
. /dev/sdb1;
. /dev/sdb2;
. mount /dev/sdb1 /mnt
. grub-install –root-directory=/mnt /dev/sdb
Installing for i386-pc platform.
Installation finished. No error reported.
. ls /boot/grub/
fonts gfxblacklist.txt grub.cfg grubenv i386-pc locale unicode.pf2
. 编写/boot/grub/grub.cfg文件:
set default=
insmod gzio
insmod jpeg
insmod part_msdos
insmod ext2
insmod ext3
insmod ext4
set timeout=
set root='hd0,1'
# linux (hd0,)/boot/vmlinuz rw # root=/dev/sdb2 rootfstype=ext3
linux (hd0,)/boot/vmlinuz rw root=/dev/sdb2 rootfstype=ext3
initrd (hd0,)/boot/initrd.img
boot
. 拷贝对应的系统文件,最终/dev/sdb1分区目录如下:
.
└── boot
├── grub
│ ├── fonts
│ ├── grub.cfg
│ ├── grubenv
│ ├── i386-pc
│ └── locale
├── initrd.img
├── initrd.img_redhat
├── initrd.img_ubuntu
├── vmlinuz
├── vmlinuz_redhat
└── vmlinuz_ubuntu
. 下载Ubuntu Core,并将其解压到/dev/sdb2分区中,注意将passwd中间中root密码去掉,否则要输入密码。
. 如上所示,既有redhat,又有ubuntu的,遇到了redhat内核版本过低,Ubuntu Core版本高过不能挂载文件系统的问题。 三、遇到错误:
. 现象:
...
mount: could not find filesystem /dev/root
Setting up other filesystems
Setting up new root fs
setuproot: moving /dev failed: No such file or directory
...
. 参考文档:
. [SOLVED] Getting existing CentOS5 system to run with a new motherboard
https://www.centos.org/forums/viewtopic.php?t=24681
. Creating a New Initial RAM Disk
https://wiki.centos.org/TipsAndTricks/CreateNewInitrd
. 原因:
If you have changed a motherboard or moved a disk to a different system it may fail to boot due to the lack of appropriate drivers in the initial RAM disk image (initramfs for CentOS , initrd for CentOS ).

Linux U盘 启动盘的更多相关文章

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

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

  2. windows和linux环境下制作U盘启动盘

    新笔记本上,要装xp的系统,100%会破坏原有的Linux系统,因为安装xp的时候会自动覆盖硬盘的主引导扇区,这个扇区一旦被重写,那么原有的linux根本就启动不了. 要想玩linux和xp双系统,一 ...

  3. 制作一个64M的U盘启动盘(mini linux + winpe +dos toolbox)

    制作一个64M的U盘启动盘(mini linux + winpe +dos toolbox) 自己动手定制winpe+各类dos工具箱U盘启动盘+minilinux 由于一个64M老U盘,没什么用,拿 ...

  4. [转]制作一个64M的U盘启动盘(mini linux + winpe +dos toolbox)

    自己动手定制winpe+各类dos工具箱U盘启动盘+minilinux 由于一个64M老U盘,没什么用,拿来发挥余热.如果U盘够大,可以使用功能更强大的mini linux和带更多工具的winpe.这 ...

  5. 如何制作 linux 系统 U盘启动盘

    1.制作linux 系统的U盘启动盘,需要选择ISO 模式!给大家推荐几个制作相关软件以及相关制作过程(点击相应名字即可进入到网站):UltraISO.rufus.老毛桃.大白菜. UltraISO ...

  6. 【转载】在Linux系统下用dd命令制作ISO镜像U盘启动盘

    #### 将U盘插入USB接口 #umount /dev/sdb* #dd if=/iso存放路径/XXX.iso of=/dev/sdb bs=1M ##### [转载]在Linux系统下用dd命令 ...

  7. U盘启动盘制作工具(安装Linux)

    2018-09-15 17:36:42 1. Etcher  官网:https://etcher.io/ 资料来源:https://linuxmint-installation-guide.readt ...

  8. U盘启动盘 安装双系统 详细教程

    U盘启动盘 安装win7+linux双系统 最近在看鸟哥的linux 私房菜 ,看到多重系统那部分,自然的安装多重系统的激情由此而燃.在网上看了很多资料,感觉都不全.经过艰辛的摸索,终于被我发现了一个 ...

  9. Ubuntu 制作U盘启动盘

    部门需要一台Linux系统远程共享服务器,需要一个启动盘安装.但是由于公司windows 系统都安装了保安软件,而且软件的使用也是有限制的.所以不能使用UltraISO 这类软件制作U盘启动盘.还好部 ...

随机推荐

  1. Java CLASSPATH

    @1:CLASSPATH用途: #1:给import指路 -- import后面的包名(转换为相应的路径后)与CLASSPATH中的各项相连接. 然后解释器从这些路径(前面连接之后的结果)中查找程序中 ...

  2. 分布式计算开源框架Hadoop入门实践(一)

    在SIP项目设计的过程中,对于它庞大的日志在开始时就考虑使用任务分解的多线程处理模式来分析统计,在我从前写的文章<Tiger Concurrent Practice --日志分析并行分解设计与实 ...

  3. classmethod

    描述 classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等. 语法 classmeth ...

  4. hadoop本地运行与集群运行

    开发环境: windows10+伪分布式(虚拟机组成的集群)+IDEA(不需要装插件) 介绍: 本地开发,本地debug,不需要启动集群,不需要在集群启动hdfs yarn 需要准备什么: 1/配置w ...

  5. iOS 根据农历日期 获取当前的农历年份 即 干支纪年法算农历年

    前言:我国古代是用干支纪年的,近代史上提到的甲午战争.戊戌变法.辛亥革命等名词就是干支纪年.所谓干支就是十天干和十二地支的简称.天干.地支按照一定规则(单配单,双配双)可以搭配成60对,也就是一个甲子 ...

  6. UI控件之UIImageView

    UIImageView:图像视图,用于在应用程序中显示图片 UIImage:是将图片文件转换为程序中的图片对象 UIImageView是UIImage的载体 方法一:用此方法创建图片对象,会将图片ca ...

  7. matplotlib模块之plot画图

    关于matplotlib中一些常见的函数,https://www.cnblogs.com/TensorSense/p/6802280.html这篇文章讲的比较清楚了,https://blog.csdn ...

  8. Go make 和 new的区别

    在Go语言中: make 被用来分配引用类型的内存: map, slice, channel new 被用来分配除了引用类型的所有其他类型的内存: int, string, array等 本文主要给大 ...

  9. Maven配置一键部署远程Tomcat

    1. 首先需要配置远程Tomcat的访问权限(设置访问用户名密码) http://www.cnblogs.com/liuchao102/p/5519345.html 2. 配置pom.xml 添加to ...

  10. bind的原生代码实现

    <script> function foo(p1,p2) { this.val = p1 + p2; } var bar = foo.bind(this, "p1"); ...