我是 MBR/GPT 的新手。我生活在 Ubuntu 16.04 的世界里。
我用Ubuntu 实时 CD非常频繁。由于我有一个带有许多驱动器的外部硬盘,所以我的巧妙想法是将这个硬盘上的一个驱动器专门用作 LiveCD,这样就不必一直将微型 USB 闪存驱动器放在钱包里。
HDD 安装为/dev/sdb
。以下是我尝试的。
使用“
sudo parted /dev/sdb print
”,我发现该硬盘有 MBR,但没有 GPT。接下来,使用
gparted
“我创建了一个驱动器“/dev/sdb8
”(不是主驱动器,我只能将其设为扩展分区上的逻辑驱动器)使用“
sudo rsync -a
”,我已将 LiveCD 的所有内容复制到此驱动器“/dev/sdb8
”使用
gparted
->manage flags
选项,我已将标志“启动”设置为开启/dev/sdb8
(这是唯一设置了该标志的驱动器)通过 USB 连接驱动器重新启动。
唉!没用。
在(Dell T1700 型号)的一次性启动选项列表中<F12>
,我甚至没有看到列出的外部硬盘驱动器...即,我无法从这里启动。
有人请帮忙!
显然,我需要了解一些基础知识,非常感谢您的解释/指示!!
答案1
Grub4dos
可以安装在支持的文件系统上的 USB 存储棒/HDD 上。在这种情况下,它可以完全替换原始操作系统加载器。最好以 ntfs 格式格式化。
- 在某处备份磁盘的全部内容(所有分区)。
- 任何程序或 livecd(、、
gparted
等)都会删除所有分区并在整个磁盘上创建一个分区(可能需要使其处于活动状态并可启动)。acronis
paragon
ntfs
- 在此处下载
grub4dos
zip 压缩包:
如果您在 Windows 中工作,则可以在那里使用 GUI 安装程序:
https://yadi.sk/d/dQYHiAFJTH8TR
要将 Grub4dos 安装到 USB 棒/HDD,请运行任何操作系统(Windows、任何 LiveCD Linux),连接目标设备 - USB 棒或 USB HDD,包的内容
grub4dos-0.4.4.zip
将解压到所用操作系统的可用位置。在解压的目录中,执行以下命令# bootlace.com --time-out=0 --no-backup-mbr --mbr-disable-floppy /dev/sdX
其中/dev/sdX
- 是目标连接设备
如果您在 Windows 中工作,您可以运行 GUI 安装程序Grub4DOS.exe
(抱歉,第一个窗口是俄语的,但从图片上看一切都很清楚)(通过"Browse"
选择 USB-HDD,提取文件)
http://lazvm-comp.ucoz.ru/_pu/0/s63791143.jpg
我们在田野里放一只鸟"Disc"
,然后选择我们的 USB-HDD。列表中还会有其他硬盘的部分,请小心,以卷为指导。在这种情况下,USB 测试驱动器的容量为 4 GB(3812M)。其他设置不要触摸并单击安装。
http://lazvm-comp.ucoz.ru/_pu/0/s53051361.jpg
此后,所需的文件将出现在 USB-HDD 上,并且可启动。只需将所需的文件放入介质中,即可下载所需的操作系统和程序。
Menu.lst
是最重要的配置文件。这本质上是一个文本文件,您可以使用普通记事本打开它。grldr
是加载器本身。Boot
文件夹中有一个名为的子文件夹gfx
,Grub4dos
主题存储在其中。
您只需将 ISO 映像复制到磁盘并添加一个menu.lst
大致如下所示的条目:
title Ubuntu Mini Installer
find --set-root /images/ubuntu-mini.iso
map --heads=0 --sectors-per-track=0 /images/ubuntu-mini.iso (0xff)
map --hook
chainloader (0xff)
它会找到 ISO、提取它、将其循环挂载到内存中(前三行),然后使用一个grub4dos
技巧,通过链式加载刚刚提取的映像的引导加载程序。通常,这会加载 ISO 附带的 grub 实例,然后引导内核。优点是您不需要知道 ISO 映像内所有文件的位置,这由映像本身的引导加载程序处理。
“Fatter” live 映像通常将文件系统作为压缩映像发送,并使用类似的技巧为您提供一个正常工作的系统。但是,如果您使用引导加载程序的初始链运行这些映像,对各种文件系统的引用就会混淆,并且 ISO 将无法启动“Unable to find a medium containing a live file system”
。
解决方案是不链式加载下一个引导程序,而是grub4dos
直接引导 ISO 的 Linux 内核。这可能需要一些反复试验,因为每个发行版似乎都有自己的惯例,规定实时映像的文件存放在何处(在/live
或/casper
或/boot
或 ......)。为了引导 Ubuntu Desktop ISO,menu.lst
条目如下所示:
title Ubuntu Desktop Live
find --set-root /images/ubuntu-desktop.iso
map --heads=0 --sectors-per-track=0 /images/ubuntu-desktop.iso (0xff) || map --mem /images/ubuntu-desktop.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz.efi file=/preseed/ubuntu.seed noprompt boot=casper iso-scan/filename=/image/ubuntu-desktop.iso quiet splash --
initrd /casper/initrd.lz
与之前的区别是:
chainloader (0xff)
被替换为root (0xff)
: 不是链式加载 (0xff) 临时卷的引导加载程序,而是将临时卷设置为下一个命令的根卷 内核行: 这是 ISO 上 grub 实例的内核行,带有附加选项iso-scan/filename
initrd 行: 这是 ISO 上 grub 实例的 initrd 行 找出要传递给内核的选项(以及所有文件的位置)的一种方法是先链式加载包含的引导加载程序并检查其启动配置。然后,您可以将这些参数复制到grub4dos
menu.lst
。尽管这些设置在不同的发行版之间有所不同,但发行版本身并不会经常更改它们。一旦您有了最喜欢的发行版的工作条目,您就有可能在下一个版本发布时批量重复使用它们。
来源:
https://wdullaer.com/blog/2010/02/26/boot-iso-files-from-usb-with-grub4dos/ https://wdullaer.com/blog/2016/08/17/boot-live-disks-from-a-multiboot-usb-as-an-iso/
我的例子menu.lst
:
timeout=20
default 0
gfxmenu (hd0,0)/Boot/gfx/dragon.gz
title Windows XP BartPE Mini
map (hd0,0)/iso/bartpe_mini.iso (0xff)
map --hook
chainloader (0xff)
boot
title Win7 Live CD x86&x64
chainloader /XMPE/WinPE/bootmgr (0xff)
boot
title xubuntu-16.04.1-desktop-i386
kernel /ubuntu/vmlinuz iso-scan/filename=/ubuntu/xubuntu-16.04.1-desktop-i386.iso boot=casper only-ubiquity initrd=/casper/initrd.lz locale=ru_RU quiet splash --
initrd /ubuntu/initrd.lz
title Acronis Disk Director 12
map --mem --heads=0 --sectors-per-track=0 (hd0,0)/dd/ADD12_3270_ru-RU.iso (hd32)
map --hook
chainloader (hd32)
boot
title Acronis True Image 2017
map --mem --heads=0 --sectors-per-track=0 (hd0,0)/ti/acronis_true_image_2017.iso (hd32)
map --hook
chainloader (hd32)
boot
title Hiren's BootCD 9.3 Rus
map (hd0,0)/iso/Hiren's_BootCD_9.3.iso (0xff)
map --hook
chainloader (0xff)
boot
title MemTest86 5.1
map (hd0,0)/iso/Memtest86-5_1.iso (0xff)
map --hook
chainloader (0xff)
boot
title ERD 6.5_x86_Win7_RTM
map (hd0,0)/iso/ERD65_x86_Win7_RTM.iso (0xff)
map --hook
chainloader (0xff)
boot
title ERD 6.5_x64_Win7_RTM
map (hd0,0)/iso/ERD65_x64_Win7_RTM.iso (0xff)
map --hook
chainloader (0xff)
boot
title ReBoot
reboot
title ShutDown
halt
对应的目录结构为:
[0000] # user directory with any files on my disk
[Boot]
[gfx]
dragon.gz # theme screen `grub4dos`
BCD
BCD.log
memdisk.gz
[dd]
ADD12_3270_ru-RU.iso
[iso]
[HDDScan-3.3] # from here I run the program HDDScan under windows liveCD (Win7 Live CD x86&x64)
bartpe_mini.iso
ERD65_x64_Win7_RTM.iso
ERD65_x86_Win7_RTM.iso
Hiren's_BootCD_9.3.iso
Memtest86-5_1.iso
[ti]
acronis_true_image_2017.iso
[ubuntu]
initrd.lz
vmlinuz
xubuntu-16.04.1-desktop-i386.iso
[XMPE] # Windows 7 LiveCD
[FONTS]
[W7PePrograms]
[WinPE]
BOOT.SDI
bootmgr
grldr
M1
XM64.bat
XM64.WIM
XM86.bat
XM86.WIM
BCD
grldr
Menu.lst
menu.lst
您可以通过类似编辑添加、删除任何启动映像