这个问题与标记为重复的问题不同,因为我知道如何在 USB 密钥上安装 Ubuntu,但我想在这个 USB 密钥上有一个额外的分区
我有一个 64GB 的 USB 3.0 棒,我想用它在加密分区中保存一些备份数据,但也有一个带有可启动 ubuntu 的分区。
制作可启动的 Ubuntu 棒很容易:
# sudo dd if=ubuntu-16.04.2-desktop-amd64.iso of=/dev/sdX bs=1k count=2048 conv=fdatasync
(将 sdd 更改为 sdX 以防止用户复制它并损害他们的系统)
但后来我得到了一个奇怪的分区表:
# fdisk -l /dev/sdd
Medium /dev/sdd: 58,4 GiB, 62746787840 Bytes, 122552320 Sektoren
Einheiten: sectors von 1 * 512 = 512 Bytes
Sektorengröße (logisch/physisch): 512 Bytes / 512 Bytes
I/O Größe (minimal/optimal): 512 Bytes / 512 Bytes
Typ der Medienbezeichnung: dos
Medienkennung: 0x15e2543d
Gerät Boot Start Ende Sektoren Größe Id Typ
/dev/sdd1 * 0 3035519 3035520 1,5G 0 Leer
/dev/sdd2 14432 19295 4864 2,4M ef EFI (FAT-12/16/32)
这似乎是正确的,因为我的棒子启动正常。但我真的不明白。
当我之前对 USB 设备进行分区并有一个 FAT32 和一个 LUKS 分区时,我仍然可以将dd
iso 放到第一个分区/dev/sdd1
,但它不再可启动。
我当然在第一个分区上设置了可启动标志,我的笔记本电脑尝试启动它,但只显示闪烁的下划线。
网络上有很多关于这种情况的误导性信息。我迷路了。我熟悉分区、MBR 和 GRUB,但只会使用它们。似乎我从未真正理解发生了什么,而且自从我上次这样做以来,很多事情都发生了变化(EFI、循环设备……)
似乎很难将 USB 用作可启动的 Ubuntu 和备份分区。但我仍然认为这应该是
- 对 USB 进行格式化和分区
- 将 ISO 复制到分区
- 创造一些像 MBR、可启动标志、Grub2 这样的魔法
有人可以通过一个小的分步命令行示例来帮助它在现代 ubuntu 16.04 上运行吗?
顺便说一下,第二个分区不需要在 Windows 上安装。
答案1
我将回答您的问题,以消除您的困惑。
您可以制作可启动的 USB。只需在 USB 上安装 Ubuntu 即可。一旦您有了这个可启动磁盘,您就可以重新分区、调整大小,并对 USB 驱动器进行与在常规系统硬盘上相同的更改。
您创建的可启动驱动器可以克隆到 ISO,就像您的常规内置硬盘可以克隆到 ISO 一样。您可以使用dd
问题中的命令将此 ISO 复制到其他驱动器中。复制后,您还可以根据标准编辑和修改分区。
您不能做的是制作 CDROM 安装程序的 ISO,或使用 LiveUSB ISO 安装程序(使用与 DVD 相同的基本算法构建,但在 USB 上)作为克隆驱动器。从您在问题中包含的体验细节中可以看出,如果您进行分区更改,驱动器将被损坏(就能够启动而言)。
虽然这不是您想要的,但是我们经过深思熟虑并专门设计制作了一个安装程序版本(称为持久性 USB),以克服操作系统安装程序的有限设计和意图。
目前尚不存在具有修改媒体分区功能的 ubuntu 安装程序。如果存在,有人会将来源发布为答案,或向您指出解决方案。
另外,尽管这可能需要很多工作,但您也可以制作自己的安装程序并将其添加到您自己的 Ubuntu 闪存盘中。此处有讨论: 从现有 Linux 安装
这是为你的 Pendrive 制作自己的 LiveUSB 的另一种方法:
安装/FromLinux
我还没有尝试创建这个环境。所以我无法评论这项任务是否容易。我只是想告诉你,如果你想拥有一个可以用作安装程序并且有可编辑分区的 Pendrive,会涉及哪些内容。
答案2
您可以使用 mkusb 创建持久实时驱动器。之后,在仍然从其他系统启动时,您可以编辑分区表并缩小一些分区并创建自己的分区。但我认为 mkusb 的持久实时驱动器的分区结构足以满足您的目的。有一个ext
用于持久性的分区和一个NTFS
用于与 Windows 计算机通信的分区。您可以在这两个分区中存储文件。
总共有 5 个分区。在 128 GB 的 USB 3 闪存盘中,它看起来可能像下面列出的输出。在安装过程中,您可以决定用于持久性的可用驱动器空间百分比(casper-rw
具有ext2
文件系统的分区,其余驱动器空间将用于具有文件系统的usbdata
分区NTFS
)。在这种情况下,我使用了默认值 50%。
parted -s "/dev/sdd" print
Model: SanDisk ExtremePro (scsi)
Disk /dev/sdd: 128GB
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 130MB 128MB fat32 primary boot, esp
4 130MB 1663MB 1533MB primary
5 1663MB 64,8GB 63,2GB ext2 primary
1 64,8GB 128GB 63,2GB ntfs primary msftdata
lsblk -o MODEL,NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE "/dev/sdd"
MODEL NAME FSTYPE LABEL MOUNTPOINT SIZE
ExtremePro sdd 119,2G
|-sdd1 ntfs usbdata 58,9G
|-sdd2 1M
|-sdd3 vfat usbboot 122M
|-sdd4 iso9660 Ubuntu 16.04.1 LTS amd64 1,4G
`-sdd5 ext4 casper-rw 58,9G
详情请参阅以下链接,
help.ubuntu.com/community/mkusb