zoukankan      html  css  js  c++  java
  • 利用grub2制作多启动U盘

    很久以前就做过一个基于grub2的多启动u盘,但是没有做记录,这一次做个记录,供大家参考,也做个备忘。

    以前只是做到了从U盘安装Ubuntu,以及通过pe安装win,这次还整合了CentOS(我只试验了CentOS7,其它版本估计不行,因为其它版本不是用的grub2引导)。

    以前比较菜,只能按照教程一步步来,虽然现在也很菜,但是感觉懂得多了一点。

    以前以为要做多启动盘时,u盘只能有一个分区,现在发现不是的,只需要将grub2装到一个分区就行了,这次我在自己的移动硬盘上分了一个区出来,也装上了。

    下面开始安装吧。

    原材料

    1. 一个足够大的U盘(或者一个移动硬盘也行)

    2. 一个Ubuntu操作系统(livecd启动的也行)

    3. 一个pe的ISO及若干操作系统镜像(Ubuntu Live CD、CentOS7 Live CD)

    下面开始正式安装,一下操作均在Ubuntu中进行

    格式化U盘

    
    # 查看一下磁盘情况
    
    shell>> fdisk -l
    
    # umount要格式化的磁盘,我使用的是/dev/sdc3
    
    # 如果没有挂载,没有这一步操作
    
    shell>> umount /dev/sdc3
    
    # 格式化
    
    shell>> mkfs.vfat -F 32 -n MULTIBOOT /dev/sdc3
    
    

    安装grub2到/dev/sdc3

    
    # 挂载/dev/sdc3
    
    shell>> mkdir -p /media/MULTIBOOT
    
    shell>> mount /dev/sdc3 /media/MULTIBOOT
    
    # 安装grub2,注意这个命令中最后使用的/dev/sdc,而不是/dev/sdc3
    
    shell>> grub-install --force --no-floppy --boot-directory=/media/MULTIBOOT /dev/sdc 
    
    shell>> cd /media/MULTIBOOT
    
    # 获取grub.cfg
    
    shell>> wget pendrivelinux.com/downloads/multibootlinux/grub.cfg 
    
    

    把ISO copy到u盘

    首先需要在U盘根目录下创建一个文件夹叫ISO,然后将ISO拷贝到这个目录下。

    winpe的启动需要一个特殊的文件叫做memdisk,大家可以上网百度一下,如果找不到可以Email我,我发给你(407778367@qq.com)

    配置grub.cfg

    需要启动某个系统,只需要将对应的镜像拷贝ISO目录下,并在在grub.cfg中配置即可。

    以下是我的配置

    
    # This grub.cfg file was created by Lance http://www.pendrivelinux.com
    
    # Suggested Entries and the suggestor, if available, will also be noted.
    
    
    
    set timeout=10
    
    set default=0
    
    
    
    menuentry "WinPE" {
    
    	linux16 /ISO/memdisk iso
    
    	initrd16 /ISO/winpe.iso                                  
    
    }
    
    
    
    menuentry 'Ubuntu 14.04.2(64)' {
    
    	set isofile="/ISO/ubuntu-14.04.2-desktop-amd64.iso"
    
    	loopback loop $isofile
    
    	linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noprompt noeject quiet splash persistent --
    
    	initrd (loop)/casper/initrd.lz
    
    }
    
    
    
    menuentry 'CentOS Linux 7 1503 Live' --class fedora --class gnu-linux --class gnu --class os {
    
        insmod loopback
    
        
    
        set iso_path="/ISO/CentOS-7-x86_64-LiveCD-1503.iso"
    
        loopback loop $iso_path
    
        linux (loop)/isolinux/vmlinuz0 iso-scan/filename=$iso_path root=live:CDLABEL=CentOS-7-livecd-x86_64 rootfstype=auto ro quiet rd.live.image noeject rhgb rd.luks=0 rd.md=0 rd.dm=0
    
        initrd (loop)/isolinux/initrd0.img
    
    }
    
    #menuentry "Ubuntu Desktop ISO(32)" {
    
    # loopback loop /ubuntu.iso
    
    # linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu.iso noeject noprompt splash --
    
    # initrd (loop)/casper/initrd.lz
    
    #}
    
    

    重启电脑,测试一下

    现在可以重启电脑,测试一下了。

    参考文章

    1. http://www.pendrivelinux.com/boot-multiple-iso-from-usb-via-grub2-using-linux/

    2. http://blog.chinaunix.net/uid-14735472-id-4211274.html

  • 相关阅读:
    流量染色与gRPC服务托管 微服务协作开发、灰度发布之流量染色 灰度发布与流量染色
    http://www.cnblogs.com/sealedbook/p/6194047.html
    celery 原理
    修改织梦默认栏目页、文章页URL命名规则
    Dede首页幻灯版显示Bug修正
    DEDECMS5.7 首页和栏目页调用文章按权重排序
    dede文章摘要字数的设置方法
    DEDECMS登录后台慢的完美解决方案
    DedeCMS去掉友情链接中“织梦链投放”“织梦链”的方法
    删除dedecms5.7后台登陆验证码
  • 原文地址:https://www.cnblogs.com/zhangteng512/p/4615832.html
Copyright © 2011-2022 走看看