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


33

我想知道我是否可以在USB驱动器上有2个分区,以便我可以将其作为常规的USB安装盘(分区1)引导到我的钥匙上,并在Windows / Ubuntu下将另一个分区用于常规存储(分区2)。我想拥有一个磁盘:

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

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

PS:那是因为每次我需要抢救PC时,我都厌烦在USB驱动器上安装/卸载Ubuntu,并且我不愿意只为Ubuntu安装盘购买USB驱动器。

Answers:


24

是的,您可以对USB闪存驱动器进行分区以引导进入Ubuntu Live Session,并在单独的分区上将其用作常规USB驱动器(可通过Windows访问)。我能够在装有UEFI和Windows 8.0的Sony Vaio T系列Ultrabook笔记本电脑上使用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,标记为Storage(必须首先在驱动器上) 2.创建了一个新的5 GB的fat32逻辑分区,其前后有0 MB 3.为第二个分区设置启动标志 4.(创建了其他不需要的分区) 5.引导至加载在DVD上的Ubuntu Live Session,并选择
不从GRUB菜单进行安装即可尝试Ubuntu 6.使用插入的USB闪存驱动器打开Startup Disk Creator 7.
已经选择了Ubuntu-Desktop 12.04映像和pny USB 2.0闪存驱动器(/ dev / sdh2)5.0 GB 分区,移动了多少幻灯片以将文档
和设置存储在保留的额外空间中,并选择了制作启动盘

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

在不首先放置Windows分区的情况下,可移动媒体位 ...

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

... 将意味着只有1个分区显示在Windows:

“问:什么是超级软盘?

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

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

这些是软件方法(在这种情况下,也是不必要的):
创建dummy.sys驱动程序
使用Hitachi Microdrive Filterdriver

图片来源:
分区USB驱动器上的 TSJNachos117 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


谢谢,我会尝试的。我知道我可以在同一个分区中使用一个文件夹,但这并不优雅。我想要一件好事,这是在我的日常生活中,我想要一些上课:) //不吹牛,但我也知道如何使用分区工具;让我问的是我是否可以使用分区的USB驱动器启动。
MrVaykadji

确实如此;我刚刚确认可以确定。不过,我喜欢您的想法,并且正在扩展它以创建3个分区:Ubuntu12.04(可启动),Hirens(可启动)和存储。我也
想像

最终,它的工作比我在网上找到的任何工具都要容易得多。
conman253 2014年

4
分区前25 MB是否有原因?为什么25?大小是否随闪存驱动器的总空间不同?
stevendesu 2015年

1
该帖子已过时 SDC从14.04开始没有持久性指针。
CSCameron '18年

8

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

第二条信息是要了解Linux操作系统的ISO下载旨在安装在磁盘(CD / DVD / USB)上,而不是分区上。需要使用一个小型工具(可以在syslinux-utils软件包中找到)来修改这些ISO isohybrid。用于在分区上安装的ISO修改是通过--partok 标志完成的。我从这篇文章中找到了此信息,该信息描述了完全相同的问题。我不确定--partok魔术的工作原理,我搜寻了一些解释,但找不到任何解释。

总而言之,这就是我要进行实时PureOS安装以从USB分区启动的操作,

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

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

    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,并将其用作恢复解决方案,同时将系统备份存储在另一个分区上。


一年前,我尝试过使它生效,但失败了。显然,那时我没有找到这篇文章。有用!我希望有更多的文档-我收到警告,提示并非所有BIOS都能启动我的记忆棒,的确是这样。但这仍然比我走得更远。
马修

2

简单的答案是肯定的,但是您可以变得更简单!

确保您在驱动器和UNetbootin上想要的Linux风格的ISO,可以从以下位置获得:http : //unetbootin.sourceforge.net/

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


那并不是我真正想做的,我要分离分区的原因是要有一个干净的存储空间,而没有ubuntu安装盘中的所有文件夹。因为我在Windows和Ubuntu上都使用USB驱动器,所以将它们隐藏起来是行不通的。
MrVaykadji

另外,Unetbootin仅允许我以英语启动实时直播,而我想使用母语。
MrVaykadji

安装unetbootin后,您可以使用分区管理器来缩小分区,并在分区后为您自己的文件添加一个分区(gparted可以完美地完成此操作)至于语言更改,您可以编辑bootloader来添加内核参数,请参见< help.ubuntu.com/lts/installation-guide/powerpc/boot-parms.html >关于debian-installer /语言(语言),debian-installer /国家(国家),debian-installer / locale(语言环境)强制您需要的语言环境
Viperfang 2014年

是的,但是我仍然可以引导USB密钥进行实时会话吗?
MrVaykadji

2

持续直播

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

help.ubuntu.com/community/mkusb

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

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

    有关更多详细信息,请参见此链接,

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

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

    2. 分区:GPT:bios_grub标志,用于在BIOS模式下引导;MSDOS:扩展分区

    3. 分区:(FAT32)引导分区

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

    5. 分区:(ext4)casper-rw或live-rw或持久性

细节

建立永久活动系统之后的分区的详细信息:

...
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引导映像:

在此处输入图片说明


1

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

如果执行完此操作后仍无法启动,则应该可以使用GParted 设置启动标志。

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


恐怕我不得不争论这一点。我自己有一个闪存驱动器,既可以用作Ubuntu的LiveUSB版本,又可以用作常规存储。我的第一个分区是NTFS分区,可以在XP和7上完美运行。我的第二个分区是FAT32分区,其中包含Ubuntu的实时版本。我什至从Windows甚至从磁盘管理器(diskmgmt.msc)都看不到该分区。但是,我可以从中启动,也可以从Ubuntu中对其进行读取/写入。请参阅此处第4段。
TSJNachos117'2014-2-23

不好意思的歉意。阅读您的评论后,我意识到我的测试Ubuntu Live引导分区不是第一个。如果您进行少量编辑,我将给您应有的投票。
conman253 2014年

那是什么编辑?
TSJNachos117

在您的答案被编辑之前,论坛不允许我更改我的不赞成投票。我尝试仅添加<p>,但没有运气。您可以删除它们。
conman253

如今,Windows 10允许访问多个“ Windows FS类型”分区。Fat32,NTFS,UDF。
CSCameron '18年

1
  1. 您想将USB的主要部分保留为FAT32存储14GB
  2. 您想要LiveUSB属于Ext4 2GB

然后,USB的布局如下:

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

  1. 您必须创建Fat32零件拳头才能在Windows下看到,因为没有太多调整,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

很有意思。此方法是否允许使用casper-rw分区?
CSCameron '18年

@CSCameron但是,可以。您可以为casper-rw添加一个额外的ext4分区。只要这仍然成立:source $prefix/x86_64-efi/grub.cfg以便bootx64.efi可以找到grub的分区。 使用Windows 10 1703+ 更新我的答案,您可以按任意顺序创建多个分区。全部都可在1703+以下安装
Son Nguyen

0

一个简单的解决方案:

  1. 使用KDE分区管理器删除所有分区并创建2,048MB主分区FAT32。

  2. 将剩余的可用空间分配给您的数据分区。如果需要与Windows互操作,请选择NTFS作为文件系统,但要注意,从Linux读取时,所有具有+x属性的文件都已设置。否则,请选择ext4。

  3. 使用unetbootin编写ISO(Ubuntu 18.04约为2GB)。不必担心它似乎只写/dev/sda而不是特定分区。

在我的设置中,gparted看不到正确的分区,而KDE分区管理器却正确。不知道该怎么做。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.