mkusb 在持久实时 USB 创建过程中无法挂载分区。出了什么问题?

mkusb 在持久实时 USB 创建过程中无法挂载分区。出了什么问题?

我正在尝试创建一个实时持久的 USB 可启动棒。我不知道哪里出了问题,它无法正常工作。mkusb 的终端如下:

start [mkusb 11.0.5] @ 2017-01-01 11:49:37 AM
---------------------------------------------------------------------------
Current directory=/home/gediz
main: usbonly=true
main: liveonly=true
No input file specified yet
main: source=''
TERM=xterm
ubuntu
---------------------------------------------------------------------------
menu_shell:
imagefile=/mnt/hgfs/ACTIVE_SOFTWARE/Other OS/ubuntu-16.04.1-desktop-amd64.iso
The iso file SHOULD BE loop mounted on a temporary file READ-ONLY:
mount: /dev/loop0 is write-protected, mounting read-only
disk_name_type=desktop
Ubuntu 16.04.1 LTS "Xenial Xerus" - Release amd64 _found_ in iso-file
Ubuntu 16.04.1 LTS "Xenial Xerus" - Release amd64 _not_ in any possible target drive
Booted from: /dev/sda
ans=u
ans=
---------------------------------------------------------------------------
menu_shell:
---------------------------------------------------------------------------
menu_shell:
imagefile=/mnt/hgfs/ACTIVE_SOFTWARE/Other OS/ubuntu-16.04.1-desktop-amd64.iso
Booted from: /dev/sda
ans=1
***** tu=/dev/sdb ****************************************************
selected target partition table: 'msdos'
mount: /dev/loop0 is write-protected, mounting read-only
 Ubuntu 16.04.1 LTS "Xenial Xerus" - Release amd64 
---------------------------------------------------------------------------
chk4ubuntu_upgrades: mkusb

can set the security upgrade action (the default action of the persistent
live system when security upgrades are available). This method works for
Ubuntu family operating systems and some 're-spins'. You are installing
Ubuntu 16.04.1 LTS "Xenial Xerus" - Release amd64

This can change 'Download and install automatically' to 'Display immediately'
set security upgrade action to 'Display immediately'
---------------------------------------------------------------------------
mount: /dev/loop0 is write-protected, mounting read-only
select_boot_system: [if installed, use] usb-pack_efi=false
'/mnt/hgfs/ACTIVE_SOFTWARE/Other OS/ubuntu-16.04.1-desktop-amd64.iso' is identified as the source ISO file
<pre>
MODEL            NAME   FSTYPE LABEL      MOUNTPOINT  SIZE
Cruzer Glide 3.0 sdb                                 29.8G
                 ├─sdb1 ntfs   usbdata               22.6G
                 ├─sdb2 vfat                            1M
                 ├─sdb3 vfat   ubu1604164             122M
                 ├─sdb4                               1.4G
                 └─sdb5 ext4   casper-rw              5.7G
</pre>
Using the file '/usr/share/mkusb/grub.cfg'
Clean for a GUID partition table
GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): 
Command (? for help): 
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): OK; writing new GUID partition table (GPT) to /dev/sdb.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
Wipe the first megabyte (mibibyte) to get a clean boot area
1024+0 records in
1024+0 records out
1048576 bytes (1.0 MB) copied, 1.49029 s, 704 kB/s
lsblk: /dev/mmcblk?: not a block device
---------------------------------------------------------------------------
 Selected percentage of remaining space for persistence = 20 
---------------------------------------------------------------------------

lsblk: sdb3: failed to initialize sysfs handler
preparing /dev/sdb3  ------------------------------------------------
1024+0 records in
1024+0 records out
1048576 bytes (1.0 MB) copied, 0.97066 s, 1.1 MB/s
umount: /dev/sdb3: not mounted
mkfs.fat 3.0.27 (2014-11-12)
/dev/sdb3 has 64 heads and 32 sectors per track,
hidden sectors 0x1000;
logical sector size is 512,
using 0xf8 media descriptor, with 249856 sectors;
drive number 0x80;
filesystem has 2 32-bit FATs and 1 sector per cluster.
FAT size is 1922 sectors, and provides 245980 clusters.
There are 32 reserved sectors.
Volume ID is 1430fe73, no volume label.

preparing /dev/sdb1  ------------------------------------------------
1024+0 records in
1024+0 records out
1048576 bytes (1.0 MB) copied, 0.833496 s, 1.3 MB/s
umount: /dev/sdb1: not mounted
Cluster size has been automatically set to 4096 bytes.
Creating NTFS volume structures.
Creating root directory (mft record 5)
Creating $MFT (mft record 0)
Creating $MFTMirr (mft record 1)
Creating $LogFile (mft record 2)
Creating $AttrDef (mft record 4)
Creating $Bitmap (mft record 6)
Creating $Boot (mft record 7)
Creating backup boot sector.
Creating $Volume (mft record 3)
Creating $BadClus (mft record 8)
Creating $Secure (mft record 9)
Creating $UpCase (mft record 0xa)
Creating $Extend (mft record 11)
Creating system file (mft record 0xc)
Creating system file (mft record 0xd)
Creating system file (mft record 0xe)
Creating system file (mft record 0xf)
Creating $Quota (mft record 24)
Creating $ObjId (mft record 25)
Creating $Reparse (mft record 26)
Syncing root directory index record.
Syncing $Bitmap.
Syncing $MFT.
Updating $MFTMirr.
Syncing device.
mkntfs completed successfully. Have a nice day.
preparing /dev/sdb5  ------------------------------------------------
1024+0 records in
1024+0 records out
1048576 bytes (1.0 MB) copied, 0.922333 s, 1.1 MB/s
umount: /dev/sdb5: not mounted
mke2fs 1.42.12 (29-Aug-2014)
Creating filesystem with 1481472 4k blocks and 370944 inodes
Filesystem UUID: 9b06bf50-b1ff-4a60-956b-709ae2ac3b34
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done 

mount: /mnt/hgfs/ACTIVE_SOFTWARE/Other OS/ubuntu-16.04.1-desktop-amd64.iso is already mounted
fatlabel: warning - lowercase labels might not work properly with DOS or Windows
tune2fs 1.42.12 (29-Aug-2014)
---------------------------------------------------------------------------
source=/mnt/hgfs/ACTIVE_SOFTWARE/Other OS/ubuntu-16.04.1-desktop-amd64.iso
---------------------------------------------------------------------------
item 60
umount: /dev/sdb3: mountpoint not found
mount /dev/sdb3 /tmp/tmp.tbI9gMJvTc
mount: special device /dev/sdb3 does not exist
 '/dev/sdb3' could not be mounted 
umount: /dev/loop-control: not mounted
umount: /dev/loop1: not mounted
umount: /dev/loop2: not mounted
umount: /dev/loop3: not mounted
umount: /dev/loop4: not mounted
umount: /dev/loop5: not mounted
umount: /dev/loop6: not mounted
umount: /dev/loop7: not mounted
/usr/sbin/mkusb: line 3339:  2962 Terminated              tail -f "$tailfile"
      2963                       | zenity --progress --title="$version - preparing persistent live drive ..." --percentage=0 --auto-close --no-cancel --window-icon="/usr/share/icons/hicolor/48x48/apps/mkusb.png" 2>> "/dev/null"
Cleanup after mkusb finished :-)
Zenity error log-file 'zerrlog'=/tmp/tmp.JjJD0x6y2Y

答案1

DUS/mkusb 工具处理现有分区的方式似乎存在问题。对我来说成功的路线如下:

  1. 启动实时 Ubuntu,或者如果你有完整安装,使用它
  2. 插入目标驱动器并单击启动器符号并输入“磁盘”(不带引号)
  3. 选择目标闪存驱动器并删除所有分区
  4. 使用 DUS/GUIDUS/mkusb 并执行正常的持久驱动器创建步骤。

这对我来说有效了两次,其中两个驱动器都遇到了这个问题。

-sk1t

答案2

  1. 如果 mkusb 的当前版本中存在错误,我会尽力帮助您并修复该错误。因此,我建议您将 mkusb 更新到当前稳定版本 mkusb - 12.0.0-1ubuntu5 别名 mkusb-dus,然后重试。您使用的是 mkusb 11.0.5。这两个版本之间修复了几个错误。

    根据安装和使用 mkusbmkUSB-快速入门手册.pdf

    如果你已经拥有稳定的 PPA,ppa:mkusb/ppa,你可以运行以下命令

    sudo apt-get remove mkusb
    sudo apt-get update
    sudo apt-get install mkusb mkusb-nox usb-pack-efi
    
  2. 日志告诉我,您从 /dev/sda 启动,但分区 /dev/sdb3(目标设备)存在问题。系统是否使用 /dev/sdb3 作为启动分区或 EFI 分区?(这可能是一个错误。)

  3. 如果你在目标驱动器拔出的情况下启动?启动计算机后将其插入,然后启动 mkusb。我希望它能正常工作,否则请发布新的日志文件。


编辑:

使用 Lubuntu 16.04.1 LTS 进行测试(仅限 Linux 测试)

我使用不稳定 PPA 中的 mkusb-dus 版本 12.0.2 进行了测试ppa:mkusb/unstable,无法在 BIOS 模式下重现 Lubuntu 16.04.1 LTS 中的错误(既没有启动已安装的系统,也没有启动持久实时系统)。我也尝试了 UEFI 模式(从持久实时驱动器启动),但无法重现错误.我在启动过程中对两个几乎相同的 U 盘进行了测试。

@sk1tt1sh 测试用例分析(Windows 中使用 LiLi)

  • 我在 LiLi 制作的(持久性)U盘中测试了 mkusb,运行Ubuntu 15.04(amd64)。

  • 有一个与目标驱动器类似的 U 盘(也是用 LiLi 制作的)。

  • 第一次测试:我插入两个 U 盘并启动,结果显示困惑。它似乎从其中一个驱动器启动,并使用另一个驱动器的持久性。这给 mkusb(也是当前的 mkusb-dus)带来了问题,因为两个驱动器都被锁定,无法卸载任何驱动器上的分区。

  • 第二次测试:我只插入一个驱动器进行启动,并在操作系统运行时插入另一个驱动器。然后 mkusb 可以将其持久实时系统创建到另一个驱动器中。启动 mkusb 之前无需删除任何分区。

  • 评论:第一个测试用例的一个解决方法可能是启动到 RAM(使用启动选项托拉姆)。然后至少有一个驱动器将被释放并可用作目标设备。

对于原始海报@Gediz GÜRSU 以及@sk1tt1sh 来说,可能还存在其他情况并且发生了其他事情。

结论

为了避免这种混淆,我只需插入一个驱动器即可启动。当操作系统运行时,可以插入要创建新持久实时系统的目标驱动器。

在启动 mkusb-dus 之前我不需要删除任何分区,但似乎有些情况是必要的,我还没有测试过。

相关内容