2013-10-31 17:32:49 quanliyadan 阅读数 9245

一、U盘引导,安装前的准备

1、U盘一枚,至少2G

2、下载并安装虚拟光驱,这里我用的是UltralSO.

二、制作引导盘

1、打开UltraISO软件,选择文件->打开,打开需要烧录的镜像文件:


2、选择启动---写入硬盘映像


选择u盘




3、选择硬盘驱动器为U盘所在盘符,写入方式为USB-HDD+,点击便携启动->写入新的硬盘主引导记录->USB-HDD+,在弹出的对话框中选择“是”

写入完成之后,启动盘制作完成,这时候需要将需要安装的系统镜像拷贝到硬盘里

三、开始引导安装

1、启动服务器,并设置BIOS从u盘引导。



2、启动后直接选择install 


3、从这一步开始基本上跟普通装系统一样了,所以我只是简单的插张个图片,这一步选择跳过



4、基本上都是下一步,按照提示安装

5、选择安装语言,这里我选的英语


6、选择键盘模式,选择默认的美式键盘即可,按后下一步后暂时跳过序列号


7、这一步需要注意选中左下角的检验修改磁盘分区

8、根据需要自定义磁盘分区

9、对磁盘进行格式化后,选择时区信息,将左下角的选项勾去,然后时间选择Asia/Shanghai


10、给系统设置密码


11、开始定制安装软件,建议选择现在定制


12、选择自己要装的软件或者服务


13、开始安装


14、装完之后选择重新引导,现在可以U盘暂时还不能移走


15、重启系统后,需要依次做完左侧的几项,licence肯定要同意


16、防火墙,选择了关闭


17、selinux如果选择disable,等下还要重启系统


18、剩下的全部下一步

*******

四、系统安装完成后的设置

 1、登陆系统,打开终端,设置grub

[root@localhost ~]# grub

grub> root(hd0,0)

grub> setup(hd0,0)

grub> quit   



2、修改/etc/grub.conf


3、保存并退出,然后拔掉U盘,重启系统即可

五、总结,u盘引导安装linux系统,最重要的两步是:一、制作引导盘;二、安装完成后修改grub配置,如果这两部搞定了,u盘引导装系统也只是so easy!

2014-04-18 23:11:34 stability4884 阅读数 7821

我们在用U盘安装好Linux双系统(我是安装XP+Linux)后,虽然在安装Linux系统过程中更改linux系统启动引导区从硬盘开始,但是当我们拔下U盘重新启动以后,发现系统无法进入,也就是找不到引导区。此时我们可以通过插上U盘(或者在第一次使用U盘安装好系统以后就直接修复引导区配置文件),进入系统以后去修复引导区配置文件。

1.下面我们以第二种方式为例,把U盘插到电脑USB接口,然后继续以可移动设别启动操作系统,这样我们就可以进入到Linux操作系统。

2.进入系统以后,右键单击桌面空白处,选择——“打开终端”,记得要以root权限运行,否则无法修改引导区的配置文件(当然如果为了保证系统的安全,也可以使用普通用户登录,然后su到root权限)。

3.我是以oracle用户登录系统,然后切换到root权限。切换成功以后,输入grub,回车

[oracle@AS5 ~]$ su - root
口令:
[root@AS5 ~]# grub

4.依次输入以下命令,正常情况下回提示成功的。整个图形界面如下(红色字体为备注说明,如果没有出现下面的提示错误,可以忽略不看):

   grub>root (hd0,0) 
   grub>setup (hd0) 
   grub>quit 

备注:root (hd0,0)  第一个“0”表示系统中的第一块硬盘,第二个“0”表示第一个硬盘的第一个分区,因为之前安装系统时装在了硬盘的第一根分区即hd0,0,root (hd0,0)就是表示我们从该分区启动系统。如果你设置的不是在这个分区,则会出现下面的提示,假设我现在不知道自己引导分区安装在hd0,0,我随便写一个错误的位置,就会这样:

grub> root (hd0,2)
  Filesystem type unknown, partition type 0x82 ,如果是这种情况的话,不用着急,我再后面的博客中会专门讲解如何查找设定的引导分区。


输入quit以后,就会退出grub界面,返回到命令行界面。

5.最后一步就是修改配置文件了。配置文件的位置在/etc/grub.conf。

使用[root@AS5 etc]# vi grub.conf修改后的界面如下

6.保存配置文件后,再次重启系统就可以顺利进入linux操作系统。

这是我的QQ技术交流群374106486,欢迎大家一起沟通交流IT技术。

2017-04-28 11:32:42 QingKong999 阅读数 3297

1、将iso文件转换为MAC下的dmg文件,也可以不转直接使用

$ hdiutil convert -format UDRW -o CentOS-7-x86_64-DVD-1611_ CentOS-7-x86_64-DVD-1611.iso 

2、插入U盘并且找到U盘的设备路径

$ diskutil list
/dev/disk0 (internal):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                         251.0 GB   disk0
   1:                        EFI EFI                     314.6 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            250.0 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

/dev/disk1 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            NO NAME                *15.8 GB    disk1

3、将U盘从系统中卸载掉

$ diskutil unmountDisk /dev/disk1
Unmount of all volumes on disk1 was successful

4、dd镜像文件到U盘,时间较久,耐心等待

$ sudo dd if=CentOS-7-x86_64-DVD-1611_.dmg of=/dev/rdisk1 bs=1m

也可以使用brew安装pv命令来显示进度条

pv -cN source < CentOS-7-x86_64-DVD-1611_.dmg | sudo dd of=/dev/disk1 bs=4m
2016-05-17 21:29:03 caochenxian 阅读数 3354

制作u盘启动linux系统

本文记录我制作u盘驱动的过程,按照这篇教程,你可以得到一个装有linux3.10.10操作系统的u盘,可以启动x86架构的主板,文件系统使用busybox制作。


所需工具

  • 高质量u盘一个,容量大于4G
  • linux3.10.10内核源码
  • busybox1.24.1源码
  • 装有ubuntu系统pc一台

注意:
u盘不能使用那种扩容的劣质u盘,因为可能找不到u盘的mbr;
内核源码下载地址https://www.kernel.org/;
busybox源码下载https://busybox.net/


第一步、为u盘分区

宿主机可以使用ubuntu也可以是装有vmware的win7,有一个linux运行环境即可,因为要使用linux命令fdisk为u盘分区;fdisk的使用方法这里不做讲解,只讲制作过程,一步一步跟着做保证能成功

  1. 在ubuntu中使用fdisk -l找到我们的u盘,例如根据大小判定我们的u盘为/dev/sdb
  2. 使用fdisk /dev/sdb进入fdisk界面,m打印帮助信息
  3. 使用o命令清除分区信息,使用n命令为u盘分两个区,200M+4G+剩余空间,200M用于boot分区,4G用于交换分区,剩余空间自己使用;(其实有一个分区就可以了,因为我们的u盘启动后,直接就可以拔掉了,kernel是运行在内存中的)
  4. 使用a命令设置1分区为活动分区
  5. 使用t命令设置2分区为82交换分区(没有就可以不用设置)
  6. 使用w命令保存并退出
  7. 有了分区了,但是分区里还没有文件系统,也就不能使用,我们使用mkfs.ext3 /dev/sdb1将我们的boot分区格式化,也可以使用mkfs.ntfs /dev/sdb3将其余空间格式化为win7可识别分区

第二步、为u盘安装grub

下面为u盘安装grub,其实就是在u盘前512字节写入我们想要的mbr,电脑启动后经过bios引导,识别到u盘为第一启动盘后,读取u盘前512字节,这512字节记录了u盘分区信息;这样就知道了活动分区,然后根据活动分区中装有的grub和grub配置信息找到kernel和iinitrd
涉及到的grub命令有grub-install和grub-update
按抓给你步骤

  1. 将u盘boot分区挂在到一个目录,例如我的:mount /dev/sdb1 /mnt/rootfs
  2. grub-install –root-directory=/mnt/rootfs /dev/sdb
  3. 添加grub.cfg文件,该文件就是开机选择启动项的配置文件
    路径在u盘boot分区的/boot/grub/grub.cfg,下面是我的grub.cfg

menuentry ‘Name of the kernel,u can edit by yourself’ –class ubuntu –class gnu-linux –class gnu {
insmod gzio
insmod ext2
search –no-floppy –fs-uuid –set=root b6e9a297-4675-4d9b-9295-3c8c27fdf12a
linux /vmlinux
initrd /initrd
}

search 开头行的root后面空格接你boot分区的uuid
vmlinux文件是你boot目录里将要放的kernel
initrd文件是boot目录将要放的linux系统文件
uuid查看方法是使用blkid命令,谁用谁知道。。。。
至此,你可以将u盘插入电脑,设置bios的u盘为第一启动,然后F10,如果没有错误的话将看到你grub.cfg中的menuentry中的命令了,但是回车后还不能进入,因为。。。还没有拷贝kernel啊!

第三步、编译kernel

将下载好的kernel解压,使用tar -xvf ./linux-3.10.10.tar;然后进入到kernel目录cd linux-3.10.10,下面开始编译
使用menuconfig进行配置,至于怎么配置,这里就不讲了,不然三天三夜也说不完,建议参考金步国先生的博客,http://www.jinbuguo.com/
配置完,使用make命令生成bzimage镜像
make modules编译模块
make modules_install命令安装模块到/lib/modules/
至此在linux-3.10.10的/arch/x86/boot/bzImage 文件是存在的
然后将bzImage拷贝到u盘的boot分区,并改名字为vmlinux

第四步、制作文件系统

解压busybox源码,cd到解压后的目录中,使用make menuconfig配置,至于配置选项,采用默认即可,需要知道与注意的选项是busybox生成的文件系统有静态链接方式和动态链接方式,所谓静态库就是在bin目录下的busybox程序不需要库文件,因为库文件已经静态编译到程序中了;动态链接方式不能直接运行/bin目录下busybox程序,因为busybox需要动态库支持,这就需要将busybox所需的库文件和链接文件copy到lib目录。为了简单期间可以采用静态链接方式。这样在busybox源码根目录下make后,在当前目录会生成一个_INSTALL目录,直接将该目录下的内容复制出来即可。
我们制作的u盘启动项可以在kernel运行起来后拔掉u盘,这是因为我们采用intrd的内存加载方式运行kernel,那么怎么制作initrd呢?

  1. 在你的电脑上创建一个目录用来制作initrd文件系统,mkdir homeDir
  2. 将busybox生成的_INSTALL目录下的所有内容拷贝到homeDIr目录
  3. 在homeDir目录中的etc目录下创建inittab文件,文件内容:
    ::sysinit:/etc/init.d/rcS
    tty1::respawn:getty 38400 tty1
    tty2::respawn:getty 38400 tty2
    ::ctrlaltdel:reboot
    ::shutdown:/etc/init.d/shutdown.sh
  4. 在homeDir/etc/init.d/目录下创建rcS文件,文件内容为创建所需目录,创建dev目录节点,mount虚拟文件系统等。
  5. 在homeDir目录下创建一个脚本,用来生成initrd文件,文件内容:
    shell
    #!/bin/sh
    rootDir=/u盘boot分区
    rm -rf $rootDir/initrd
    find .|cpio -o -H newc |gzip -9 > $rootDir/initrd
    echo “binggo!!”
  6. 将生成initrd文件拷贝到u盘的boot分区根目录下

这里需要注意的知识点如下:
弄清楚三个文件之间的调用关系,initrc/inittab/rcS。kernel启动后在kernel_start中调用init等函数,函数会执行boot分区根目录下的initrc,initrc会调用/etc/inittab,然后inittab执行/etc/init.d/rcS,至此进入了命令行终端,系统就起来了。其实还有其他很多细节需要处理,例如需要在rcS中设置网络ip,设置登录帐号密码,设置用户名,设置自动磁盘挂载,设置驱动动态加载等等。
弄清楚busybox的udev和mdev区别,以及两个命令与hotplug的机制;简单说就是当有热插拔时间成生时,kernel发送事件的给hotplug注册的函数,如果使用udev的话,udev会根据接受到的事件和自己的配置信息执行特定的同做,例如在dev目录下创建节点,执行驱动程序的动态加载等操作。具体信息建议自行百度.
fstab文件和mount -a/umount -a命令的使用
passwd和shadow文件的作用以及使用如下命令
[root@b2 ~]# openssl passwd -1 -salt $(< /dev/urandom tr -dc ‘[:alnum:]’ | head -c 32)

第五步、启动吧!u盘君

至此,我们已经完成了u盘启动制作,保证u盘boot分区下的vmlinx和
initrd正确,boot分区的uuid设置正确,然后找到boot分区下vmliux和initrd就可以正常启动了。下面把我在制作过程中遇到的困难和问题和大家分享下,希望能给大家抛砖引玉,也许能在制作过程中会遇到不一样的问题,但是要知道能力是在解决困难的过程中成长的。

  1. 安装完grub后,设置u盘为第一启动项,发现死活都看不到u盘的启动项选择界面。
    解决办法:第一保证u盘设置boot分区为活动分区;第二保证boot分区下boot/grub/grub.cfg配置文件正确

  2. 从u盘启动项选择界面选择自己的kernel,能看到kernel起来了,但是不能进入终端,显示找不到init文件
    解决办法:问题原因主要有busybox位64版本,kernel是32位版本,kernel在执行用户空间第一个busybox的init命令失败,导致不能打开控制台终端。这时应该自行百度安装32位运行库,使用gcc32从新编译busybox。

希望能把我自己的kernel_config/busybox_config/inittab/rcS文件和大家共享,后续会添加的,如果大家有共享的好办法希望及时通知我哦!!

2017-01-02 14:47:16 Tom_Green 阅读数 18813

首先,用以下命令确认自己的U盘名称及路径(/dev/sdb4)

df -h
文件系统        容量  已用  可用 已用% 挂载点
udev            5.9G     0  5.9G    0% /dev
tmpfs           1.2G  9.6M  1.2G    1% /run
/dev/sda2       216G   72G  134G   35% /
tmpfs           5.9G  215M  5.7G    4% /dev/shm
tmpfs           5.0M  4.0K  5.0M    1% /run/lock
tmpfs           5.9G     0  5.9G    0% /sys/fs/cgroup
/dev/sda1       511M  3.6M  508M    1% /boot/efi
tmpfs           1.2G   60K  1.2G    1% /run/user/1000
/dev/sdb4       1.4G  1.4G     0  100% /media/hcf/Ubuntu 16.04 LTS amd64

卸载已挂载的U盘(省去这一步不知道能否成功)

$ umount /dev/sdb4

开始烤备

sudo dd bs=4M if=/home/hcf/dev/iso/ubuntu-16.04-desktop-amd64.iso of=/dev/sdb4
[sudo] hcf 的密码: 
记录了354+1 的读入
记录了354+1 的写出
1485881344 bytes (1.5 GB, 1.4 GiB) copied, 386.522 s, 3.8 MB/s
没有更多推荐了,返回首页