我已经创建了一个 Live USBLinux Mint 17 “Qiana” Xfce 64 位使用 Unetbootin,成功启动(不止一次)。处理大型表格时,OpenOffice 冻结,整个系统无响应。我无法使用神奇的 SysRq 组合键关闭操作系统,只能硬重置 PC。
重新启动 PC 时无法从 USB 启动,此后一直无法启动。没有显示错误消息,PC 继续从硬盘启动。
BIOS 设置为从 USB 设备启动。我尝试使用另一台笔记本电脑启动,但没有成功。
我强烈怀疑这与文件权限有关。在 Nautilus 中,所有文件和文件夹似乎都被锁定了,见屏幕截图。Gparted 还显示一个钥匙符号。(已设置启动标志。)
列表输出为:
drwxr-xr-x 3 root root 4096 Sep 16 12:49 boot
drwxr-xr-x 2 root root 4096 Sep 16 12:53 casper
-rw-r--r-- 1 root root 385875968 Sep 16 12:54 casper-rw
drwxr-xr-x 3 root root 4096 Sep 16 12:49 dists
drwxr-xr-x 3 root root 4096 Sep 16 12:49 EFI
-rw-r--r-- 1 root root 1756 Sep 16 12:53 extlinux.conf
drwxr-xr-x 2 root root 4096 Sep 16 12:53 isolinux
-r--r--r-- 1 root root 32768 Sep 16 12:53 ldlinux.sys
drwx------ 2 root root 16384 Sep 16 12:46 lost+found
-rw-r--r-- 1 root root 21113 Jun 23 2014 MD5SUMS
-rw-r--r-- 1 root root 55012 Sep 16 12:53 menu.c32
drwxr-xr-x 5 root root 4096 Sep 16 12:49 pool
drwxr-xr-x 2 root root 4096 Sep 16 12:53 preseed
-rw-r--r-- 1 root root 220 Jun 23 2014 README.diskdefines
-rw-r--r-- 1 root root 1756 Sep 16 12:53 syslinux.cfg
-rw-r--r-- 1 root root 9699 Sep 16 12:53 ubnfilel.txt
-rw-r--r-- 1 root root 20452646 Jun 23 2014 ubninit
-rw-r--r-- 1 root root 5777056 Jun 23 2014 ubnkern
-rw-r--r-- 1 root root 837 Sep 16 12:49 ubnpathl.txt
我怎样才能让 Live USB 再次启动?
更新2015-09-17 19:29 UTC
我使用相同的 ISO 文件创建了第二个 Live USB,并比较了两者(linux-mint-17a 和 linux-mint-17b)的内容。
首先,Byte Commander 实际上是对的,驱动器上并非所有文件都应归用户所有。这是 virgin Live USB(linux-mint-17b)的 ls -l 输出:
drwxr-xr-x 3 root root 4096 Sep 17 17:45 boot drwxr-xr-x 2 root root 4096 Sep 17 17:47 casper -rw-r--r-- 1 root root 10484711424 Sep 17 18:05 casper-rw drwxr-xr-x 3 root root 4096 Sep 17 17:45 dists drwxr-xr-x 3 root root 4096 Sep 17 17:45 EFI -rw-r--r-- 1 root root 1756 Sep 17 17:48 extlinux.conf drwxr-xr-x 2 root root 4096 Sep 17 17:47 isolinux -r--r--r-- 1 root root 32768 Sep 17 17:48 ldlinux.sys drwx------ 2 root root 16384 Sep 17 17:21 lost+found -rw-r--r-- 1 root root 21113 Jun 23 2014 MD5SUMS -rw-r--r-- 1 root root 55012 Sep 17 17:48 menu.c32 drwxr-xr-x 5 root root 4096 Sep 17 17:45 pool drwxr-xr-x 2 root root 4096 Sep 17 17:47 preseed -rw-r--r-- 1 root root 220 Jun 23 2014 README.diskdefines -rw-r--r-- 1 root root 1756 Sep 17 17:48 syslinux.cfg -rw-r--r-- 1 root root 9699 Sep 17 17:47 ubnfilel.txt -rw-r--r-- 1 root root 20452646 Jun 23 2014 ubninit -rw-r--r-- 1 root root 5777056 Jun 23 2014 ubnkern -rw-r--r-- 1 root root 837 Sep 17 17:45 ubnpathl.txt
与我的第一个 Live USB 唯一的区别是 casper-rw 的大小(因为第二个闪存驱动器有 32 GB,而第一个闪存驱动器只有 2 GB,所以我增加了持久性文件)。如您所见:所有文件和文件夹都归 root 所有,并且:是的,ldlinux.sys 文件权限是只读的(-r--r--r--
)。
我已经对 MD5SUMS 进行了检查,结果一切正常。md5sum 只给出了一个,
“WARNING: 6 lines are improperly formatted”
但这没什么可担心的,因为这是由 MD5SUMS 文件中供人类读取的前六行指令引起的,如本论坛帖子所述我比较了两个挂载驱动器的文件结构,发现它们完全相同。我比较了内容,发现了差异:
user@box2:~$ diff -rq /media/user/linux-mint-17a /media/user/linux-mint-17b Files /media/user/linux-mint-17a/casper-rw and /media/user/linux-mint-17b/casper-rw differ Files /media/user/linux-mint-17a/ldlinux.sys and /media/user/linux-mint-17b/ldlinux.sys differ diff: /media/user/linux-mint-17a/lost+found: Permission denied diff: /media/user/linux-mint-17b/lost+found: Permission denied
由于我无法读取二进制,因此我将 ldlinux.sys 文件的内容十六进制转储到两个文本文件中:
xxd /media/user/linux-mint-17a/ldlinux.sys >> ~/ldlinux.sys_1.txt
xxd /media/user/linux-mint-17b/ldlinux.sys >> ~/ldlinux.sys_2.txt
并比较了 ldlinux.sys 文件的内容 – 它们有所不同!请参见粘贴箱(我只包括相关部分)。
为什么我检查 MD5SUMS 时没有显示这个?因为 ldlinux.sys 没有列出。
我想替换 linux-mint-17a 上的文件 ldlinux.sys,看看这是否能让 Live USB 再次启动,但我看不出有什么办法。这显然是无法触及的,因为甚至 root 也无法对其进行 chown 或 chmod 操作。
更新2015-09-17 21:10 UTC
我已经能够通过删除 linux-mint-17a 上的 ldlinux.sys不可变标志,并将其替换为 linux-mint-17b 的 ldlinux.sys。linux-mint-17a 无法启动(错误消息“缺少操作系统”)。
答案1
这是一个简单的修复,您只需要 3 样东西。
1) 根访问权限。2) 闪存驱动器的目录路径。3) 您的个人资料名称(又称用户名)
在这种情况下,我将使用 USER 作为用户名,但请确保将 USER 替换为您的用户名。
我将使用 /home/USER/media/flashdrive/..... 来表示闪存驱动器的目录,再次确保将 /home/USER/media/flashdrive 替换为您的闪存驱动器的目录。
cd /home/USER/media/flashdrive
sudo -s
chown USER:USER boot casper dists EFI isolinux pool preseed casper-rw extlinux.conf ldlinux.sys MD5SUMS menu.c32 README.diskdefines syslinux.cfg ubnfilel.txt ubninit ubnkern ubnpathl.txt