无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)无忧启动网成立20周年!广告联系 QQ:184822951 微信:wuyouceo
楼主: 2011niumao

[发布] SQUASHFS系统UBUNTU20.04与18.04,VHD系统UBUNTU16.04(64位)

    [复制链接]
发表于 2013-4-24 23:50:02 | 显示全部楼层
楼主大人,能提供一个win8下启动引导的教程么?貌似不能用win7那样的方法喔。本人菜鸟。
回复

使用道具 举报

 楼主| 发表于 2013-4-25 00:27:41 | 显示全部楼层
66666zk 发表于 2013-4-24 23:50
楼主大人,能提供一个win8下启动引导的教程么?貌似不能用win7那样的方法喔。本人菜鸟。

同菜。我也不会UEFI。
回复

使用道具 举报

 楼主| 发表于 2013-4-26 00:00:08 | 显示全部楼层

2011年的EFI解决方法转贴

本帖最后由 2011niumao 于 2013-4-26 00:03 编辑
66666zk 发表于 2013-4-24 23:50
楼主大人,能提供一个win8下启动引导的教程么?貌似不能用win7那样的方法喔。本人菜鸟。

http://www.linuxsir.org/bbs/thread381141.html
发表于2011-10-07 15:59:38
只看作者  
在EFI/GPT硬盘上利用grub2实现Ubuntu/Win7等多重启动

一、本文所提的必要条件:主板支持UEFI的BIOS,改成GPT分区格式的硬盘,并已经装好Windows 7/Ubuntu Linux,一个容量不限的U盘,确定Ubuntu所在分区的设备名,比如/dev/sda5。不同品牌主板的UEFI BIOS可能有一定的差异。笔者使用的是华擎Z68 Pro3-M主板。据我所知Intel的主板对EFI支持的比较好。
二、步骤
1、将U盘格式化成fat32格式,在Linux下可以使用命令行(假如U盘设备是/dev/sdb的话)
mkfs.vfat /dev/sdb1
2、进入Ubuntu,如果不能直接进入的话可先从Ubuntu光盘以Live方式启动,打开Term控制台(可以直接进入Ubuntu的可以跳过这个部分),执行:
sudo -s
mkdir /mnt/ubuntu && mount /dev/sda5 /mnt/ubuntu
mount --bind /dev /mnt/ubuntu/dev
mount -t sysfs /sys /mnt/ubuntu/sys
mount -t proc /proc /mnt/ubuntu proc
chroot /mnt/ubuntu bash
3、安装grub-efi-amd64-bin
apt-get install grub-efi-amd64-bin grub-efi-amd64
grub-install
上面这个命令不需带任何参数。
4、更新启动菜单
update-grub2可以加入windows7启动项,但并不能启动成功,我们需要作些修改。直接修改/boot/grub/grub.cfg这个文件并不明智。Ubuntu在更新内核时会执行update-grub2升级更新这个文件,可以用这种办法自动加入Windows7作为默认启动项:
cd /etc/grub.d
cp 40_custom 06_custom
然后用编辑器打开06_custom,在最后一行中拷入:
menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
insmod part_gpt
insmod fat
set root='(hd0,gpt1)'
search --no-floppy --fs-uuid --set=root 46bd-600e
chainloader ($root)/EFI/Boot/bootx64.efi
}
注意search --no-floppy --fs-uuid --set=root 46bd-600e这行中的46bd-600e实际就是/dev/sda1即efi引导分区的uuid,可以在/dev/disk/by-uuid中查到(Ubuntu 11.10 beta2中的grub-probe有bug,这里我们并不一定需要grub-probe来获取efi分区的uuid。做完这些后我们就可以执行update-grub2来更新/boot/grub/grub.cfg了。
5、插上U盘,在自动挂载后在U盘中建立/efi/boot目录:
mkdir -p efi/boot
然后将Ubuntu中的/boot/grub/grub.efi文件拷入U盘中的/efi/boot下,并将其改名为bootx64.efi
6、重新启动机器,将进入cmos将EFI:USB作为第一启动项。告成!

点评

大神,膜拜啊!!!!!  详情 回复 发表于 2013-5-9 10:22
回复

使用道具 举报

 楼主| 发表于 2013-5-1 17:33:20 | 显示全部楼层
本帖最后由 2011niumao 于 2013-5-1 17:36 编辑

通过学习。安装好了一个grub2-efi。取名为efitest7.vhd。11M吧。
这个vhd作为EFI分区,可以UEFI方式启动vbuntu===在虚拟机virtualbox4.2(主机是win7,32位)测试成功。

链接
http://pan.baidu.com/share/link?shareid=375921&uk=439719680

方法:将vbuntu.vhd(在前),efitest7.vhd (在后) 挂载在一个vbox虚拟机上。设置为efi方式启动,
开机后出来grub2菜单就算成功。也许需要修改一下grub2菜单才能启动到ubuntu,也许不用。
回复

使用道具 举报

 楼主| 发表于 2013-5-1 17:58:09 | 显示全部楼层
两点补充:一是在主机是ubuntu12042条件下UEFI启动还不行。仅仅在win7主机下vbox UEFI启动成功了。
第二点是,复制到U盘上作为U盘的EFI分区:====可以使用DiskGenius软件分区复制方法复制到U盘前部就可以了
但这个方式可能有风险。不熟悉UEFI者请勿尝试。

数据无价风险自负。
回复

使用道具 举报

发表于 2013-5-3 00:41:03 | 显示全部楼层
看见楼主的热心回复,太感动了
回复

使用道具 举报

发表于 2013-5-3 10:47:40 | 显示全部楼层
好东西!谢楼主,以后多多学习请教!!!
回复

使用道具 举报

发表于 2013-5-3 10:54:17 | 显示全部楼层
apollooqm 发表于 2013-4-28 00:55
最好给个纯净版

我也有此想法!
回复

使用道具 举报

 楼主| 发表于 2013-5-3 14:16:09 | 显示全部楼层
2011aaa 发表于 2013-5-3 10:54
我也有此想法!

纯净版是指什么应用也不安装那种么?
其实那可以直接在虚拟机virtualbox安装。再装上内核与vloop就可以的。


回复

使用道具 举报

 楼主| 发表于 2013-5-3 15:28:19 | 显示全部楼层

注意 使用vboot时应该修改一下grub.cfg

本帖最后由 2011niumao 于 2013-5-3 15:35 编辑

使用vboot引导vbuntu的网友请注意,需要修改一下原来的grub.cfg文件。

把如下代码加入你的grub.cfg文件开头部分:

  1. insmod ntfs
  2. insmod part_msdos
  3. insmod ext2
  4. search --no-floppy -f --set /vbootldr
复制代码
例如开头应该如下:
  1. #
  2. # DO NOT EDIT THIS FILE
  3. #
  4. # It is automatically generated by /usr/sbin/grub-mkconfig using templates
  5. # from /etc/grub.d and settings from /etc/default/grub
  6. #

  7. ### BEGIN /etc/grub.d/00_header ###
  8. insmod ntfs
  9. insmod part_msdos
  10. insmod ext2
  11. search --no-floppy -f --set /vbootldr
复制代码
就可以了。
回复

使用道具 举报

 楼主| 发表于 2013-5-3 15:38:46 | 显示全部楼层
本帖最后由 2011niumao 于 2013-5-3 15:52 编辑

上面这个缺点来自于vmlite所给的样本。在解决一个引导问题时候发现了。参看

http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1

原则上只要使用vboot,都应该加上这种修改。不管是引导winxp的vhd,还是引导ubuntu的vhd.

加上这些修改以后,原则上讲,vbootldr,vbootldr.mbr,vboot目录应该就可以放在任何一个分区的根目录了吧?
想折腾的不妨测试测试。
回复

使用道具 举报

发表于 2013-5-6 19:54:01 | 显示全部楼层
求助 本机系统是win7 分的三个区 下载的vbuntu.vhd文件放在D盘的Ubuntu目录下面。同目录下还有initrd.img-3.2.0-23-generic和vmlinuz-3.2.0-23-generic这两个文件 用bootmgr引导d盘根目录下的grldr.mbr来引导vbuntu.vhd文件请问grldr的菜单怎么写 试了试启动不成功
回复

使用道具 举报

 楼主| 发表于 2013-5-6 22:27:11 | 显示全部楼层
本帖最后由 2011niumao 于 2013-5-6 22:30 编辑
motojialong 发表于 2013-5-6 19:54
求助 本机系统是win7 分的三个区 下载的vbuntu.vhd文件放在D盘的Ubuntu目录下面。同目录下还有initrd.img-3 ...


1.win7现在使用grldr就可以。
2.看这个写法  ====借用了10楼的菜单。
  1. default 0
  2. timeout 10

  3. title VHD Ubuntu 12.04.2 64-bit, Linux 3.2.0-23-generic
  4. root (hd0,2)
  5. kernel /Ubuntu/vmlinuz-3.2.0-23-generic root=/dev/sda3 vloop=/Ubuntu/vbuntu.vhd vlooppart=p1 quiet splash
  6. initrd  /Ubuntu/initrd.img-3.2.0-23-generic
复制代码
这里hd0,2  sda3  是假定你有一个隐藏的系统分区。并且D盘是主分区。
如果不是这个情况,例如没有隐藏系统分区,D是主分区,则是 hd0,1  sda2
如果D是第一个逻辑分区,应该是 hd0,4 ,sda5。
可以在grub命令行用 ls 看看。
回复

使用道具 举报

发表于 2013-5-7 08:24:38 | 显示全部楼层
好东西,
回复

使用道具 举报

发表于 2013-5-7 09:27:35 | 显示全部楼层
2011niumao 发表于 2013-5-6 22:27
1.win7现在使用grldr就可以。
2.看这个写法  ====借用了10楼的菜单。这里hd0,2  sda3  是假定你有一个 ...

谢谢!我用的grldr.mbr然后内置菜单引导的 应该没有问题吧
回复

使用道具 举报

 楼主| 发表于 2013-5-7 11:36:11 | 显示全部楼层
本帖最后由 2011niumao 于 2013-5-7 11:39 编辑
motojialong 发表于 2013-5-7 09:27
谢谢!我用的grldr.mbr然后内置菜单引导的 应该没有问题吧


应该可以的。如果还不能引导,注意最好贴出 出错信息,这样好进一步分析。或者你可以使用我最新制作的g2ldr引导试一试。
但是它的菜单是假定你把vhd三个文件放在根目录里的,这时候可以自动引导不需要修改菜单。
如果放在子目录里面,把路径改一改也可以。
回复

使用道具 举报

 楼主| 发表于 2013-5-7 11:48:13 | 显示全部楼层

最新制作的G2ldr===自动探测uuid

本帖最后由 2011niumao 于 2013-5-10 15:45 编辑

最新制作的G2ldr  2013 05 07
特点:
1,仅需要两步:
双击 g2ldr密码niumao.exe ,将其解压到系统分区根目录。解压密码当然是 niumao
给win7 winxp加入一个新启动项,\g2ldr就可以了。
【win7使用bootice,easybcd编辑BCD文件====已验证。
xp 再下载一个g2ldr.mbr文件,也放在同一个根目录下。 编辑boot.ini 加入一行 C:\g2ldr.mbr=G2LDR  ====已验证 】

注意 :=====g2ldr grub目录必须在根目录



2, UUID 可以自动探测并传递给linux。
如果你使用我制作的vbuntu.vhd系统,那么注意不再需要手工修改菜单
要求是
三个文件 vbuntu.vhd vmlinuz-3.2.0-23-generic initrd.img-3.2.0-23-generic 必须在一个分区根目录内。

如果不是这样,那需要编辑grub.cfg文件,把对应的menuentry中三个文件的路径修改好就可以了。
例如,如果三个文件在E盘 /vbuntu 目录中,那么把含有vbuntu.vhd 的菜单项menuentry中
所有的 /vbuntu.vhd 改为 /vbuntu/vbuntu.vhd
所有的 /vmlinuz-3.2.0-23-generic  改为 /vbuntu/vmlinuz-3.2.0-23-generic
所有的 /initrd.img-3.2.0-23-generic 改为 /vbuntu/initrd.img-3.2.0-23-generic

3, 可以自动找到硬盘上安装好的UBUNTU系统。

4. 根据 ubuntu1204.2 x64 最新版grub2制作。所以它应具有grub2的所有功能。
可以自己手工编辑grub.cfg来加入其它启动项。这样win7和grub2就完美结合了。

grub4dos引导g2ldr
menu.lst代码
  1. title G2LDR
  2. find --set-root /g2ldr
  3. kernel /g2ldr
复制代码
注意原来的引导core.img是不行的。====因为core,img含有安装时候的硬件信息,不能在其他机器上直接使用。
可以使用引导g2ldr方法。===很奇怪的,机器可能不再检查分区表了----呵呵



链接
http://pan.baidu.com/share/link?shareid=385079&uk=439719680

g2ldrmbr.zip

5.4 KB, 下载次数: 10, 下载积分: 无忧币 -2

6pt制作

回复

使用道具 举报

 楼主| 发表于 2013-5-8 18:16:20 | 显示全部楼层
本帖最后由 2011niumao 于 2013-5-13 14:50 编辑

几点测试结果
1.可以把g2ldr与grub目录考入 U盘 或者 移动硬盘第一分区 根目录下。再使用bootice将grub4dos启动代码安装到
U盘 移动硬盘 mbr====安装时候选择启动文件改名字为 G2LDR (缺省是GRLDR)。
这样可以无损地得到一个启动盘,可以启动到grub2。
2.也可以不用bootic,而是利用Easyboot将BCD 部署到U盘,移动硬盘上。再修改BCD,把g2ldr加入到启动项,比如只保留它一个启动项。
主引导设置为 nt5或nt6。也可以得到grub2启动盘。

3.探测uuid,并且传递给linux内核是grub2所带功能。===但是我尝试过 vboot 与 winlygrub ,都不行。
可能是制作 core.img时候少了一些模块。目前似乎只有我制作的这个g2ldr同时具有免安装,和自动探测uuid功能。

4.利用DiskGenius软件的硬盘克隆,可以把VHD系统直接克隆到一个移动硬盘的前部,
【注意这个操作会摧毁移动硬盘原来存储的数据===所以一定要先备份好数据后确认移动硬盘的数据已经可以放弃再操作。】
接下来直接从移动硬盘启动,OK。你已经有了一个移动操作系统了。
这点对于UBUNTU系统验证成功。对于WINDOWS,也有成功的例子,但是需要离线编辑注册表以及启动后再次安装驱动。
就此点而言。windows的移动性比UBUNTU差了不少。

5.如果想复制到移动硬盘或者硬盘分区,建议直接复制vhd文件或者使用UCloner的方式。UCloner就是6pt制作的linux ghost类软件。vhd系统的家目录中有带。DiskGenius的分区复制也可以,但是需要需要手工调整使得源分区目标分区各个参数相同,也可以用但很不方便.

(有时候也可以用===例如想把一个硬盘ubuntu转为vhd,那自然可以手工调整虚拟硬盘分区的参数与实际分区参数一致)
回复

使用道具 举报

发表于 2013-5-9 10:22:03 | 显示全部楼层
2011niumao 发表于 2013-4-26 00:00
http://www.linuxsir.org/bbs/thread381141.html

大神,膜拜啊!!!!!
回复

使用道具 举报

 楼主| 发表于 2013-5-9 20:33:59 | 显示全部楼层
本帖最后由 2011niumao 于 2013-5-10 00:15 编辑
66666zk 发表于 2013-5-9 10:22
大神,膜拜啊!!!!!


hehe. 刚刚不是小白了而已。

推荐两个巨神 bean  6pt 的帖子===想自制g2ldr的可以参考。
http://forum.ubuntu.org.cn/viewtopic.php?p=867257

http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=245472
回复

使用道具 举报

发表于 2013-5-11 14:26:10 | 显示全部楼层
本帖最后由 is286 于 2013-5-11 14:31 编辑

第四版测试完,系统是只读的,可惜了,不能安装软件,安装后重启还是原样,启动速度快!!

要是可以编辑的就好了。

另:其它LINUX也可以做成VHD不?

FREEBSD呢??谢谢。
回复

使用道具 举报

 楼主| 发表于 2013-5-11 15:43:56 | 显示全部楼层
is286 发表于 2013-5-11 14:26
第四版测试完,系统是只读的,可惜了,不能安装软件,安装后重启还是原样,启动速度快!!

要是可以编辑 ...

这个只读性 是live 系统的特点。可以用家目录中的UCloner把系统克隆到硬盘一个分区上再设置好启动。就可以了。双击UCloner_CN文件,按提示操作。

或者把它克隆到移动硬盘一个分区上,选择grub安在移动硬盘的mba----一般是/dev/sdb
这样可以得到移动系统,可以安装软件。

至于FREEBSD,要做成live系统肯定可以。但需要了解学习squashfs文件等等知识。

要制作vhd系统,需要看 vmlite网站放出来的 vloop 是不是支持了。呵呵

回复

使用道具 举报

 楼主| 发表于 2013-5-11 15:50:05 | 显示全部楼层
is286 发表于 2013-5-11 14:26
第四版测试完,系统是只读的,可惜了,不能安装软件,安装后重启还是原样,启动速度快!!

要是可以编辑 ...

其实我记得第三版第四版区别仅仅是vhd系统 ,live ubuntu系统。内容没有区别。
可以下载第三版的vhd文件,用Diskgenius的硬盘复制或者分区复制功能复制到分区
或者移动硬盘。这样是在windows下操作,对于不熟悉ubuntu的网友更方便。

硬盘复制方式复制到移动硬盘后可以直接启动====grub2。

分区复制方式复制到硬盘分区或者移动硬盘分区===需要再制作一下启动才可以引导===可以参考
g2ldr的使用说明。建议采用这个g2ldr,不需要自己编辑grub.cfg。比较简单。
回复

使用道具 举报

发表于 2013-5-11 16:07:31 | 显示全部楼层
谢谢大侠回复!
用diskgenlus程序硬盘或分区功能复制到分区的话,那么,复制后的分区是何格式?(linux的那几种格式,还是win的那几种格式?)
第三版的vhd文件我没有测试,不知道引导成功后是否像windows一样,可以读、写、安装程序,而不是只读的呢?
既然ubuntu 可以搞定,那么,理论上其它linux 也可以安装到vhd。

回复

使用道具 举报

 楼主| 发表于 2013-5-11 16:21:01 | 显示全部楼层
本帖最后由 2011niumao 于 2013-5-11 16:29 编辑
is286 发表于 2013-5-11 16:07
谢谢大侠回复!
用diskgenlus程序硬盘或分区功能复制到分区的话,那么,复制后的分区是何格式?(linux的那 ...


复制后分区是ext4---vhd内部的文件格式---这个分区原来数据都被摧毁的,注意备份一下再操作。
注意大小至少16G.
整个系统展开后文件有8G左右。如果还要自己装软件,建议16G或者12G。

另外注意我没有验证过分区复制,只验证过硬盘复制复制到移动硬盘===但这个过程会摧毁移动硬盘原来的数据===也是要备份好再操作。

复制后自然是可以读写--在linux下。windows下不能读写这个分区,除非借助其他软件。

理论上linux都可以的。但需要制作驱动使得linux认识和挂载vhd盘---目前只有vmlite网站
提供的vloop可以做到这一点。
回复

使用道具 举报

发表于 2013-5-11 23:59:16 | 显示全部楼层
第一、二、三版的vhd文件是否是只读的?

可不可以安装软件和写入其它的东西?谢谢。
回复

使用道具 举报

 楼主| 发表于 2013-5-12 09:53:40 | 显示全部楼层
本帖最后由 2011niumao 于 2013-5-12 10:59 编辑
is286 发表于 2013-5-11 23:59
第一、二、三版的vhd文件是否是只读的?

可不可以安装软件和写入其它的东西?谢谢。


1,vhd系统是可写的啊,可以安装软件和储存!只是虚拟磁盘,相当于把一个vhd文件模拟为磁盘。
启动稍慢,进入系统后速度还是很快的。但比较大,解压后约16G。实际大小8G.
2,live系统是相当于live cd,就是把发行版的cd先装好软件,再重新压缩为只读文件
系统后发布。非常小,不到3G。
3,vhd系统好处在于安全,便携性好。例如安装过程就是复制一下就行。而且可以直接复制
到移动硬盘上。再做一个启动。即可。
4,前面几个帖子我说可以用Diskgenius分区复制将vhd复制到硬盘分区,检验后发现不行。
但可以使用硬盘克隆,克隆到移动硬盘。这样要注意移动硬盘原来的数据会丢失,要注意先备份。

5,想放到移动硬盘分区,两个方法:
其一,直接复制vhd文件即可===再制作启动===推荐使用bootice与我发布的g2ldr。
其二,进入vhd系统,利用家目录里面的UCloner的克隆,将vhd系统 克隆到分区。可以得到实际
的ubuntu系统。
UCloner就是ptptptptptpt---6pt所制作的非常优秀的备份ubuntu的软件相当于windows的ghost.
回复

使用道具 举报

发表于 2013-5-12 11:00:11 | 显示全部楼层
1.vhd启动慢了点儿,但是可写啊,这是优势!!   能否将VHD的系统做入内存盘?那样读取的不是更快?
2.live系统挺不错的,随身带哪儿去相当于移动系统了。
3.vhd系统和live系统都可以复制到移动硬盘的然后设罢引导的(建议移动硬盘上比如以前安装的是PE系统维护之用,那么可以更改下GRUB设置来引导更爽)
4.diskgenius的硬盘克隆功能非常不错,以后可以通过这种方法安装linux也是不错的!快速高效(前提是vhd系统已经定制好,安装好了常用的软件)
5.bootice最好使用最新版,功能强大,特别是编辑功能,而g2ldr更方便的来实现,各取所需。
i不知道ucloner克隆完后再异机是如何实现驱动不同而不出现问题的。(windows下,驱动不同易出现蓝屏等问题,而且WIN封装的话需要先抽取硬件驱动)
回复

使用道具 举报

 楼主| 发表于 2013-5-12 11:12:55 | 显示全部楼层
本帖最后由 2011niumao 于 2013-5-12 11:15 编辑
is286 发表于 2013-5-12 11:00
1.vhd启动慢了点儿,但是可写啊,这是优势!!   能否将VHD的系统做入内存盘?那样读取的不是更快?
...


都很赞成!!!!!!
1.内存盘我没有学习研究过。有兴趣的网友可以自行探讨。
3.可以和grub4dos一起使用。例如在menu.lst加入一项:
  1. title MYGRUB2
  2. search --ser-root /g2ldr
  3. kernel /g2ldr
复制代码
就可以由grub4dos引导到g2ldr。其中如果根目录下已经有grub目录,可以把g2ldr所带grub目录中的文件全复制过去就行。
我就是这样同时使用grub4dos与grub2。呵呵

至于驱动问题,我理解是linux把很多驱动集成在内核里了,如vmlinuz.initrd.img里面很多都是驱动。
windows把驱动做到内核外面了。所以有说法说 linux是宏内核。windows是微内核。
回复

使用道具 举报

发表于 2013-5-12 11:56:53 | 显示全部楼层
本帖最后由 is286 于 2013-5-12 11:57 编辑
2011niumao 发表于 2013-5-12 11:12
都很赞成!!!!!!
1.内存盘我没有学习研究过。有兴趣的网友可以自行探讨。
3.可以和grub4dos一起 ...


既然驱动是这样搞的,那么,任意搞个虚拟机安装个LINUX 转成VHD都可以任意实体机硬件启动而不出现冲突吗?

回头将FREEBSD安装进虚拟机,然后转成VHD,也试试,不知道这个该如何引导

点评

惊喜就是指这个。第六版的引导机制原理上讲适合于所有的linux发行版。 所谓制作linux vhd的问题,终于接近解决了。  详情 回复 发表于 2013-6-7 23:55
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2021-4-22 22:01

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表