我现在对 Linux 很有信心,但这个 USB 记忆棒抱怨只读文件系统,但我一分钟前在 Windows 7 中写入它,没有任何问题。我已经尝试了其他帖子中的所有建议以及我能想到的所有方法。
以下是表明写保护已关闭的 dmesg:
[ 5563.009330] scsi 11:0:0:0: Direct-Access SanDisk Cruzer Edge 1.26 PQ: 0 ANSI: 5
[ 5563.009676] sd 11:0:0:0: Attached scsi generic sg5 type 0
[ 5563.011878] sd 11:0:0:0: [sdi] 31266816 512-byte logical blocks: (16.0 GB/14.9 GiB)
[ 5563.013754] sd 11:0:0:0: [sdi] Write Protect is off
[ 5563.013759] sd 11:0:0:0: [sdi] Mode Sense: 43 00 00 00
[ 5563.014970] sd 11:0:0:0: [sdi] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
问题如下:
adam@Home:~$ sudo mount /dev/sdi ~/usb
mount: /dev/sdi is write-protected, mounting read-only
我还用 DD 将 USB 格式化为零,然后再次尝试:
adam@Home:~$ sudo dd if=/dev/zero of=/dev/sdi bs=1k count=2048
2048+0 records in
2048+0 records out
2097152 bytes (2.1 MB, 2.0 MiB) copied, 0.426446 s, 4.9 MB/s
adam@Home:~$ sudo parted /dev/sdi
GNU Parted 3.2
Using /dev/sdi
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Error: /dev/sdi: unrecognised disk label
Model: SanDisk Cruzer Edge (scsi)
Disk /dev/sdi: 16.0GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
(parted) mklabel msdos
(parted) mkpart primary
File system type? [ext2]? fat32
Start? 1MiB
End? 100%
(parted) p
Model: SanDisk Cruzer Edge (scsi)
Disk /dev/sdi: 16.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 16.0GB 16.0GB primary fat32 lba
(parted) q
Information: You may need to update /etc/fstab.
adam@Home:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 698.7G 0 disk
└─md0 9:0 0 2.7T 0 linear /mnt/raiddrives
sdb 8:16 0 698.7G 0 disk
└─md0 9:0 0 2.7T 0 linear /mnt/raiddrives
sdc 8:32 0 698.7G 0 disk
└─md0 9:0 0 2.7T 0 linear /mnt/raiddrives
sdd 8:48 0 698.7G 0 disk
└─md0 9:0 0 2.7T 0 linear /mnt/raiddrives
sde 8:64 1 7.6G 0 disk
├─sde1 8:65 1 487M 0 part /boot
├─sde2 8:66 1 1K 0 part
└─sde5 8:69 1 7.1G 0 part
├─Home--vg-root 252:0 0 3.2G 0 lvm /
└─Home--vg-swap_1 252:1 0 4G 0 lvm [SWAP]
sdi 8:128 1 14.9G 0 disk
└─sdi1 8:129 1 14.9G 0 part
adam@Home:~$ sudo mkfs -t vfat /dev/sdi1
mkfs.fat 3.0.28 (2015-05-16)
adam@Home:~$ sudo mount /dev/sdi ~/usb
mount: wrong fs type, bad option, bad superblock on /dev/sdi,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.
USB 上没有可以打开或关闭写保护的按钮。
答案1
我修复了它。问题是您必须使用以下命令来创建 Fat32 FS,而不是 sudo mkfs -t vfat /dev/sdi1
。
sudo mkfs.msdos -F 32 /dev/sdi1
答案2
我想扩展一下约翰·史密斯的回答。我使用 Ubuntu 的“启动媒体创建器”制作了两个可启动的 USB 棒。之后,这两个棒无法使用,因为它们是写保护的,我无法在 Ubuntu 或 Windows 中格式化它们。我试过 fdisk、gparted。没用。
有帮助的是插入棒(确保这是插入的唯一 USB 驱动器),找出它安装的位置:
df -Th
这将显示设备/分区及其挂载路径/点的列表:
udev devtmpfs 7,8G 0 7,8G 0% /dev ... /dev/sdb1 vfat 7,5G 4,0K 7,5G 1% /media/<USER_NAME>/<STICK_NAME_OR_ID>
找到您的 USB 记忆棒并记住其分区设备路径(此处:/dev/sdb1)和挂载点(此处:/media/USER_NAME/STICK_NAME_OR_ID)。然后将其卸载:
sudo umount /media/USER_NAME/STICK_NAME_OR_ID
现在重新创建文件系统(本例中为 FAT32):
sudo mkfs.msdos -F 32 /dev/sdb1
稍等片刻,然后拔下记忆棒。再等一会,然后将其插入。现在应该可以写入了……
答案3
这些对我都不起作用。驱动器可以格式化(fat 32),但 Unetbootin 总是将其视为“写保护”。
唯一有效的方法是使用我的 Mac 将 USB 驱动器格式化为 fat 32。之后,一切都很顺利。
想象一下 - 必须使用 Mac 将驱动器格式化为 Win/Dos 格式才能使用 Linux 实用程序。天哪。
答案4
使用 gparted 分区编辑器将 USB 驱动器格式化为 fat32 文件系统。然后将其从 PC 中移除,重新启动 PC,然后重新插入 USB 驱动器。现在它可以工作了。
要授予 USB 读、写、执行权限,请尝试以下命令,
sudo chmod 777 /media/usbpartition-name