我想知道我是否可以在 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 闪存盘进行了分区分区在此配置中:
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 分区启动,
使用 GNOME 磁盘对我的 USB 进行分区,我最初使用 MBR/DOS 格式化磁盘。我创建了一个 4GB 分区 (FAT32),然后在剩余空间中创建了一个 ext4 Linux 分区用于备份。
接下来,我修改了下载的 ISO 文件,使其可以从分区启动。为此,我必须
syslinux-utils
从该工具所在的存储库安装isohybrid
:sudo apt-get install syslinux-utils
然后我修改了 ISO 文件:
isohybrid --partok pureos.ISO
我曾经
dd
将此 ISO 复制到上述分区。您可以从 GNOME 磁盘详细信息中获取分区设备。dd if=pureos.ISO of=/dev/sdb1 bs=1M
我从 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#分区
分区:(NTFS)usbdata 用于存储和传输文件
分区:GPT:用于在 BIOS 模式下启动的 bios_grub 标志;MSDOS:扩展分区
分区:(FAT32)启动分区
分区:(ISO 9660)克隆的iso文件
分区:(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 启动映像: