2013 年初的 Macbook Pro,Ubuntu 14.04(最新更新于 2016 年 3 月 30 日)。在 OSX 中一切正常。普通的 2GB SD 卡在 Ubuntu 中可以使用。
当我插入它时,它在 /dev 中显示为 mmcblk0。
当我尝试安装它时:
domenic@mac:/dev$ sudo mount -t exfat mmcblk0 /media/domenic/thing/
[sudo] password for domenic:
FUSE exfat 1.0.1
ERROR: exFAT file system is not found.
但我已经安装了保险丝:
domenic@mac:/dev$ sudo apt-get install exfat-fuse
Reading package lists... Done
Building dependency tree
Reading state information... Done
exfat-fuse is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.
我也尝试了各种文件系统格式,并且还尝试了不同大小的磁盘分区来消除这些情况。
显示的解决方案这里和这里对我来说不起作用,因为他们只是建议安装保险丝工具。
gparted 看到的内容如下。它不会以任何格式为此磁盘创建分区表:
以下是 fdisk -l 的输出:
domenic@mac:/dev$ sudo fdisk -l
[sudo] password for domenic:
WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sda: 251.0 GB, 251000193024 bytes
255 heads, 63 sectors/track, 30515 cylinders, total 490234752 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x9f793f3f
Device Boot Start End Blocks Id System
/dev/sda1 1 409639 204819+ ee GPT
Partition 1 does not start on physical sector boundary.
/dev/sda2 * 409640 411854951 205722656 af HFS / HFS+
/dev/sda3 411856896 419854335 3998720 82 Linux swap / Solaris
/dev/sda4 419854336 490233855 35189760 83 Linux
Disk /dev/mmcblk0: 127.9 GB, 127864930304 bytes
4 heads, 16 sectors/track, 3902128 cylinders, total 249736192 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mmcblk0 doesn't contain a valid partition table
答案1
罪魁祸首是卡上有 GPT 分区表和 ExFAT。如果我将 USB 闪存设备清零,然后将其放入 Mac,格式弹出窗口会让我选择 Apple / GUID / MBR。如果我现在保留默认的 GUID (GPT) 和 exFAT,我的 Ubuntu 16.04LTS 上会出现与您描述的完全相同的行为。目前只有 Mac 可以读取此组合,而 Windows 或 Linux 无法读取。
因此,您必须首先使用 Linux 创建可读的 exFAT 分区。
尝试
sudo fdisk /dev/mmcblk0
并使用o
、n
、p
、1
、Return
、Return
、t
、创建一个 MBR 格式的新分区表7
,w
以创建一个跨整个介质的分区类型为 7(NTFS/exFAT)的新 MBR 驱动器。
现在,来自 Ubuntu, 做mkexfatfs -n YourVolumeNameHere /dev/mmcblk0p1
。
在 Ubuntu 下测试 SDCard,方法是挂载它(弹出/重新插入就足够了),写入它,如果你愿意,也可以使用GParted
。之后,启动到 OSX 并再次测试卡的功能。
现在它应该可以在所有系统下工作了。我已经用 Ubuntu 16.04LTS、Windows 10 和 Mac OS X El Capitan 的 USB 棒测试了它。
答案2
- 启动磁盘应用程序
- 点击 SD 卡
- 打齿轮
- 格式化磁盘
- 选择 SD 卡的名称
- 点击格式化(它将重新格式化为 FAT,并且 SD 卡上的所有信息将丢失)
答案3
如果你可以查看fdisk -l
输出,最后一行显示:
Disk /dev/mmcblk0 doesn't contain a valid partition table
- 这意味着您的 SanDisk Extreme PRO SDXC 128GB 卡已丢失分区表或已损坏。
要在 MSD/USB 上创建新的分区表,您可以使用 GParted,
选择:设备 → 创建分区表,选择新分区表类型,然后单击应用。它将在 MSD/USB 上创建一个新的分区表。不要忘记单击应用所有操作(菜单栏下方的绿色右标记)
您可以参考GParted 文档, 搜索创建新的分区表,步骤相同。
要使用终端执行相同操作,您可以参考以下链接中的命令:
-如何使用 Fdisk 管理 Linux 上的分区
创建分区表后,您的文件系统将能够挂载它。但仍需检查文件系统上是否有任何错误,转到使用 fsck 检查并修复文件系统 [Linux]求助。
答案4
您可以创建一个磁盘映像并将dd
其复制到该设备。
sudo dd if=<disk partition identifier for the 2GB disk> of=./2GB.dd
然后将其写入另一台设备。
sudo dd if=./2GB.dd of=/dev/mmcblk0
(确保这是正确的设备标识符!)
您也可以一步完成
sudo dd if=/dev/2gbdiskid of=/dev/mmcblk0
这会将 2GB 小磁盘中的整个磁盘(包括分区表等)写入 128GB 磁盘。然后gparted
应该能够扩展分区。
还要确保设备(我假设是 SD 卡)上的微开关设置为允许写入设备。
如果您使用的是 microSD 转 SD 适配器,请确保适配器卡左侧的锁定开关已从这里