双分区 USB 驱动器上的 Live USB

双分区 USB 驱动器上的 Live USB

我想知道我是否可以在 USB 驱动器上设置 2 个分区,以便我能够以常规 USB 安装磁盘 (分区 1) 的形式在我的密钥上启动,并设置另一个分区用于 Windows/Ubuntu 下的常规存储 (分区 2)。我想要一个磁盘,其中包含:

/dev/sdb (16GB)
 - sdb1 : ext4/fat32, LiveUSB (2GB)
 - sdb2 : fat32, storage (14GB)

该密钥可以启动并用作常规 USB 驱动器吗?

附言:那是因为我厌倦了每次需要拯救 PC 时都在 USB 驱动器上安装/卸载 Ubuntu,并且我不愿意仅为了 Ubuntu 安装盘而购买 USB 驱动器。

答案1

是的,您可以对 USB 闪存驱动器进行分区,以启动 Ubuntu Live Session,并将其用作单独分区上的常规 USB 驱动器(可由 Windows 访问)。我能够在安装了 UEFI 和 Windows 8.0 的 Sony Vaio T 系列超极本笔记本电脑上使用 32GB PNY USB 2.0 闪存驱动器做到这一点。我还在我的 16TB RAID5 i7-290 服务器上从 Ubuntu 服务器 12.04 测试了这一点。

我使用以下方法对 USB 闪存盘进行了分区分区在此配置中:

32GB USB 闪存盘 GParted

sdh1是 Windows 可访问的“存储”分区。 sdh2是 Ubuntu 桌面 12.04 可启动分区。以下是我的步骤:

1. 创建一个新的 10 GB、ntfs、逻辑分区,其前面有 25 MB 可用空间
,后面有 0 MB,标记为存储(必须是驱动器上的第一个 2. 创建一个新的 5 GB、fat32 逻辑分区,前后各 0 MB 3. 为第二个分区设置启动标志 4. (创建其他不需要的分区) 5. 启动到 DVD 上的 Ubuntu Live Session,并
从 GRUB 菜单中选择“无需安装,试用 Ubuntu” 6. 打开启动盘创建器,插入 USB 闪存盘 7. Ubuntu-Desktop 12.04 镜像和 pny USB 2.0 闪存驱动器 (/dev/sdh2) 5.0 GB
分区已被选中,移动了在保留的额外空间中存储文档和设置的幻灯片
并选择制作启动盘

如果不选择启动标志,启动盘创建器将只能将整个闪存驱动器识别为/dev/sdh,而不是所需的第二个分区/dev/sdh2

如果不先放置 Windows 分区,可移动媒体位...

“可移动媒体设备设置是 SCSI 查询数据
对 SCSI 查询命令的响应中包含的一个标志。字节 1 的第 7 位(从 0 开始索引)是
可移动媒体位 (RMB)。RMB 设置为零表示该设备不是
可移动媒体设备。RMB 为 1 表示该设备是可移动
媒体设备。驱动程序使用 StorageDeviceProperty
请求获取此信息。”

...意味着Windows 中仅显示 1 个分区:

问:什么是超级软盘?

A。  
未采用 GPT 或 MBR 格式的可移动介质被视为“超级软盘”。
整个介质被视为单个分区。
介质制造商对可移动介质执行任何 MBR 分区。如果介质
确实具有 MBR,则仅支持一个分区。MBR
分区介质和超级软盘之间几乎没有用户可辨别的差异。
可移动介质的示例包括软盘驱动器、JAZ 磁盘盒、
磁光介质、DVD-ROM 和 CD-ROM。SCSI
或 IEEE 1394 等外部总线上的硬盘驱动器不被视为可移动的。

以下是一些翻转人民币的工具(在这种情况下是不必要的):
Laxar 的 USB 格式化工具
布蒂斯
RMPrepUSB

这些是软件方法(在这种情况下同样没有必要):
创建一个dummy.sys 驱动程序
使用日立微硬盘滤波驱动器

图片来源:
TSJNachos117双分区 USB 驱动器上的 Live USB
http://ubuntuforums.org/showthread.php?t=1020293
https://stackoverflow.com/questions/2598502/howto-flip-removable-bit-on-usb-drive-in-c
http://www.rmprepusb.com/tutorials/multipartufd

答案2

我找到了一种更直接的替代方法。要了解这种方法的工作原理,需要了解 2 条重要信息。第一条是关于启动过程以及初始开机自检(由 BIOS 执行)如何在所连接设备的第一个引导扇区上查找引导记录。这是一个小文件,它基本上将启动执行过程传递到引导加载程序/管理器,例如较新的 Linux 安装中的 GRUB2。有关此内容的更多信息,请阅读这篇非常有用的文章邮政

第二点信息是要了解 Linux 操作系统的 ISO 下载旨在安装在磁盘(CD/DVD/USB)上,而不是安装在分区上。这些 ISO 需要使用包中的小工具进行修改,该工具syslinux-utils名为isohybrid。在分区上安装的 ISO 修改是使用--partok 旗帜。我从这里找到了这些信息邮政描述了完全相同的问题。我不确定魔法是如何--partok起作用的,我搜索了一些解释,但没有找到任何解释。

总之,以下是我为实现我的目标所做的事情纯OS安装从 USB 分区启动,

  1. 使用 GNOME 磁盘对我的 USB 进行分区,我最初使用 MBR/DOS 格式化磁盘。我创建了一个 4GB 分区 (FAT32),然后在剩余空间中创建了一个 ext4 Linux 分区用于备份。

  2. 接下来,我修改了下载的 ISO 文件,使其可以从分区启动。为此,我必须syslinux-utils从该工具所在的存储库安装isohybrid

    sudo apt-get install syslinux-utils
    

    然后我修改了 ISO 文件:

    isohybrid --partok pureos.ISO
    
  3. 我曾经dd将此 ISO 复制到上述分区。您可以从 GNOME 磁盘详细信息中获取分区设备。

    dd if=pureos.ISO of=/dev/sdb1 bs=1M
    
  4. 我从 GNOME 磁盘编辑了分区并检查了可启动选项,安装所需的书籍记录。

我现在能够从 USB 密钥启动到实时 CD 并将其用作恢复解决方案,同时将我的系统备份存储在其他分区上。

答案3

这应该很容易做到。但是,请提前警告,Windows 只能看到第一个分区(/dev/sdb1),第二个分区将不可见(我不知道为什么)。因此,我建议将通用存储分区作为第一个分区,将 LiveUSB 分区作为第二个分区。

如果执行此操作后仍无法获取启动密钥,则应该能够设置引导使用 GParted 标志。

请注意:虽然我以前成功完成过此操作,但我从未在基于 UEFI 的系统上测试过这样做,更不用说使用安全启动的系统了。

答案4

持久实时驱动

您可以使用韓國创建持久实时驱动器。它将创建 5 个分区。请参阅此链接,

help.ubuntu.com/community/mkusb

  • 分区#1 具有标签“usbdata”和文件系统 NTFS,Ubuntu 和 Windows 可以使用它来存储文件并在计算机之间传输文件。

  • 其他分区属于 Ubuntu 持久实时系统。

    请参阅此链接了解更多详细信息,

    help.ubuntu.com/community/mkusb/persistent#分区

    1. 分区:(NTFS)usbdata 用于存储和传输文件

    2. 分区:GPT:用于在 BIOS 模式下启动的 bios_grub 标志;MSDOS:扩展分区

    3. 分区:(FAT32)启动分区

    4. 分区:(ISO 9660)克隆的iso文件

    5. 分区:(ext4)casper-rw 或 live-rw 或 persistence

细节

有关持久实时系统创建后分区的详细信息:

...
parted -s "/dev/sdd" print
Model: SanDisk Extreme (scsi)
Disk /dev/sdd: 16,0GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 2      1049kB  2097kB  1049kB               primary  bios_grub
 3      2097kB  258MB   256MB   fat32        primary  boot, esp
 4      258MB   1791MB  1533MB               primary
 5      1791MB  8902MB  7111MB  ext2         primary
 1      8902MB  16,0GB  7111MB  ntfs         primary  msftdata

lsblk -o MODEL,NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE "/dev/sdd"
MODEL            NAME   FSTYPE  LABEL                    MOUNTPOINT  SIZE
Extreme          sdd                                                14,9G
                 |-sdd1 ntfs    usbdata                              6,6G
                 |-sdd2                                                1M
                 |-sdd3 vfat    usbboot                              244M
                 |-sdd4 iso9660 Ubuntu 16.04.1 LTS amd64             1,4G
                 `-sdd5 ext4    casper-rw                            6,6G
</pre>
 Done :-) 
The target device is ready to use.
'ubuntu-16.04.1-desktop-amd64.iso'
was installed

gparted在 16.04 LTS 中无法识别 iso 9660 文件系统和 bios_grub 启动映像:

在此处输入图片描述

gparted在 17.10 中看到 iso 9660 文件系统和 bios_grub 启动映像:

在此处输入图片描述

相关内容