在2分区USB驱动器上实时USB

我想知道我是否可以在USB驱动器上有2个分区,这些分区允许我作为常规USB安装磁盘(partition1)启动我的密钥,而另一个分区用于Windows / Ubuntu(partition2)下的常规存储。 我想要一个磁盘:

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

该密钥可以启动并用作普通USB驱动器吗?

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

是的,您可以对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测试了这个。

我在此配置中使用GParted对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并选择Try Ubuntu
无需从GRUB菜单安装 6.打开启动的USB闪存驱动器,打开启动盘创建程序 7. Ubuntu-Desktop 12.04图像和pny USB 2.0闪存盘(/ dev / sdh2)5.0 GB
已经选择了分区,移动了多少幻灯片来存储文档
和保留的额外空间中的设置和选中的Make Startup Disk

如果不选择引导标志,Startup Disk Creator只会将整个闪存驱动器识别为/dev/sdh ,而不是所需的第二个分区/dev/sdh2

没有首先放置Windows分区, 可移动媒体位 …

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

… 意味着 Windows中只显示1个分区:

 “问:什么是超级软盘?

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

以下是一些翻转RMB的工具(在这种情况下不需要):
Laxar的USB格式工具
BOOTICE
RMPrepUSB

这些是软件方法(在这种情况下再次没有必要):
创建一个dummy.sys驱动程序
使用Hitachi Microdrive Filterdriver

信用:
TSJNachos117 在2分区USB驱动器上实时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

我发现了一种更直接的替代方法。 有两个重要的信息需要了解其原因。 第一个是关于启动过程以及初始启动自检(由BIOS执行)如何在所连接设备的第一个启动扇区上查找启动记录。 这是一个小文件,它基本上将引导执行过程传递到引导加载程序/管理器,例如更新的linux安装上的GRUB2。 有关这方面的更多信息,请阅读这篇内容丰富的post 。

第二条信息是要了解Linux操作系统的ISO下载设计安装在磁盘(CD / DVD / USB)上而不是分区。 这些ISO需要使用一个小工具进行修改,该工具可以在syslinux-utils包中找到,称为isohybrid。 使用--partok 标志完成对分区上安装的ISO修改。 我从这篇文章中找到了这个信息,它描述了完全相同的问题。 我不确定--partok魔法是如何工作的,我搜索了一些解释但找不到任何解释。

总之 ,这是我为了从usb分区启动我的LiveOS安装所做的工作,

  1. 使用GNOME磁盘对USB进行分区,我最初使用MBR / DOS格式化磁盘。 我创建了一个4GB分区(FAT32),然后在剩余的空间中为我的备份创建了一个ext4 linux分区。
  2. 接下来,我修改了我下载的ISO文件,使其可以从分区启动。 为此,我必须从我的repo sudo apt-get install syslinux-util ,其中isohydrid工具所在的位置。 然后我修改了ISO文件, isohybrid --partok pureos.ISO
  3. 我使用dd将此ISO复制到上面的分区。 您可以从GNOME磁盘详细信息中获取分区设备。 dd if=pureos.ISO of=/dev/sdb1 bs=1M
    1. 从GNOME磁盘我编辑了分区并检查了可安装选项,该选项安装了所需的书籍记录。

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

简单的答案是肯定的,但你可以更简单!

确保你在驱动器和UNetbootin上有你想要的Linux风格的ISO,可以从这里获得: http : //unetbootin.sourceforge.net/

确保从下拉列表中选择硬盘安装,并在开始之前从驱动器中复制所有数据。 您应该可以将剩余的空间用于其他目的!

持续的现场驾驶

您可以使用mkusb创建持久的实时驱动器。 它将创建5个分区。 看到这个链接,

help.ubuntu.com/community/mkusb

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

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

    有关详细信息,请参阅此链接

    help.ubuntu.com/community/mkusb/persistent#Partitions

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

    2. partition:GPT:bios_grub标志,用于在BIOS模式下启动; 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 

Done 🙂 The target device is ready to use. 'ubuntu-16.04.1-desktop-amd64.iso' was installed

在16.04 LTS中没有识别iso 9660文件系统和bios_grub引导映像:

在此处输入图像描述

在17.10中看到iso 9660文件系统和bios_grub引导映像:

在此处输入图像描述

  1. 您希望将USB的主要部分保留为FAT32存储14GB
  2. 你希望LiveUSB参与Ext4 2GB

然后你的USB布局如下:

sdb1 14GB Fat32存储和EFI文件夹
sdb2 2GB Ext4 LiveUSB

  1. 你必须在Windows下创建Fat32部分拳头,因为没有很多调整,Windows只能安装USB的第一个分区
  2. 此Fat32分区还包含EFI文件夹以引导LiveUSB部件
  3. 如果你想在Ext4上使用LiveUSB分区sdb2。 默认情况下,LiveUSB的内置bootx64.efi不会引导Ext4分区。 所以我做了一个调整bootx64.efi。 您只需将文件复制到sdb1 / EFI / boot /。 它将启动你的Ext4 LiveUSB部分。 我在这里详细介绍了https://github.com/sonvirgo/Ext4-LiveUSB

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

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

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