- 主题:磁盘容量记录在哪里
刚才将一个 3.4g 的iso dd 到了我的 32G u盘 上, 结果悲摧了
sudo dd if=~/deepin-desktop-community-20.9-amd64.iso of=/dev/sdb bs=512
我之前干过这样的事情, 忘记怎么干的了, 反正是将 u盘 搞成了2个分区, 一个是 iso 的安装盘, 另一个存正常数据。
就因为之前干过, 胆子肥了, 就这样搞了一把, 现在可好, U 盘只认 3.4G 的 iso 分区了, 我修改它的分区表不让我修改, 说容量用尽。。。。
我看了一下 MBR 记录格式, 没看到哪里记录着磁盘真实容量
我就奇怪 fdisk 怎么判断我的 U 盘只有 3.4 g 的, 怎么将它改回来
我给 iso 留了 8个G, 数据区从 8 G 之后开始, 这些扇区布局都有备份, 就是不知道修改哪里能让 fdisk 让我增加一个分区表项指过去
--
修改:zylthinking2 FROM 114.246.98.*
FROM 114.246.98.*
我还备份着之前的 MBR, 看样子是备份在前8G 的最后 2M 了, 应该一个是只显示 iso, 另一个只显示数据区; 每个都截取了从 MBR 开始的 1M 进行了备份; 后来我懒得费劲, 就将两个都显示出来, 在这切换脚本就一直扔着没再用;
但现在悲摧的是它认为自己只有 3.4g, 不让我读了
if [ "$1" == "boot" ]; then
sudo dd if=/dev/sdb of=/dev/sdb bs=512 count=2048 skip=16773120
else
sudo dd if=/dev/sdb of=/dev/sdb bs=512 count=2048 skip=16775168
fi
--
修改:zylthinking2 FROM 114.246.98.*
FROM 114.246.98.*
靠, 不会是在前 446 字节的代码里面写死的吧, 这代码被我覆盖了,那我只能再找个类似 u 盘给复制回去了
--
FROM 114.246.98.*
dd 的原因?
我将 3.4g 的前 1m 弄出来, 硬写扇区数量, 搞成 8G, 但没有修改开始磁头, 柱面这些信息, 然后弄回去
现在分区表显示 8G 了, 但总大小变成 1M 了, 我靠, dd 怎么会影响 fdisk 判断, 充其量就是覆盖了前 1m 啊, 然后 磁头, 柱面信息与扇区不一致, 但区别也就是扇区数量8个字节了, 怎么也不能影响磁盘总容量的判断啊
zylthinking@linux:~$ fdisk -l /dev/sdb
Disk /dev/sdb: 1 MiB, 1048576 bytes, 2048 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
Disklabel type: dos
Disk identifier: 0x04146973
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 0 16777215 16777216 8G 0 Empty
/dev/sdb2 16777216 17013247 236032 115.3M 1 FAT12
--
FROM 114.246.98.*
靠, 容量回来了
我首先犯了一个错误, 本想用 iso 再覆盖一下 前1m, 命令行写错了
sudo dd of=/dev/sdb of=~/deepin-desktop-community-20.9-amd64.iso bs=512 count=2048 skip=0
然后重来
sudo dd of=/dev/sdb if=~/deepin-desktop-community-20.9-amd64.iso bs=512 count=2048 skip=0
结果发现神奇的恢复了
再一看, deepin-desktop-community-20.9-amd64.iso 已经是空文件了, 被搞错的命令搞掉了, 但这个空文件的 dd 居然恢复了 u 盘容量。。。。
彻底搞糊涂了
--
FROM 114.246.98.*
fdisk -l
mkfs -t ext4 /dev/sdb
mount /dev/sdb /home/user/etc/mnt
dd of=/dev/sdb bs=512 count=1000
【 在 zylthinking2 的大作中提到: 】
: 靠, 容量回来了
: 我首先犯了一个错误, 本想用 iso 再覆盖一下 前1m, 命令行写错了
: sudo dd of=/dev/sdb of=~/deepin-desktop-community-20.9-amd64.iso bs=512 count=2048 skip=0
: ...................
--
FROM 120.253.221.91