新しいLinuxオペレーティングシステムをインストールするために使用できるように1GBのUSBスティックをフォーマットしようとしています。これは、ファイルシステムの作成中にディスクユーティリティが失敗したためです。fdisk
次の手順に従って、マスターブートレコードと1 GBのパーティションを手動で作成してみました。
# fdisk /dev/sdc
Command (m for help): p
Disk /dev/sdc: 994.5 MiB, 1042808832 bytes, 509184 sectors
Units: sectors of 1 * 2048 = 2048 bytes
Sector size (logical/physical): 2048 bytes / 2048 bytes
I/O size (minimum/optimal): 2048 bytes / 2048 bytes
Disklabel type: dos
Disk identifier: 0x967a68db
Device Boot Start End Blocks Id System
/dev/sdc1 * 1 509183 1018366 b W95 FAT32
Command (m for help): o
Created a new DOS disklabel with disk identifier 0x727b4976.
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (512-509183, default 512):
Last sector, +sectors or +size{K,M,G,T,P} (512-509183, default 509183):
Created a new partition 1 of type 'Linux' and of size 993.5 MiB.
Command (m for help): v
Partition 1: cylinder 253 greater than maximum 252
Partition 1: previous sectors 509183 disagrees with total 507835
Remaining 511 unallocated 2048-byte sectors.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
その後、512バイトのセクタサイズを持つFAT32ファイルシステムでフォーマットしようとしましたが、許容される最小サイズは2048バイトです。
# mkfs.fat -v -F 32 -S 512 /dev/sdc1
mkfs.fat 3.0.26 (2014-03-07)
Warning: sector size was set to 2048 (minimal for this device)
WARNING: Not enough clusters for a 32 bit FAT!
/dev/sdc1 has 33 heads and 61 sectors per track,
hidden sectors 0x0800;
logical sector size is 2048,
using 0xf8 media descriptor, with 508672 sectors;
drive number 0x80;
filesystem has 2 32-bit FATs and 8 sectors per cluster.
FAT size is 125 sectors, and provides 63548 clusters.
There are 32 reserved sectors.
Volume ID is 1ab3abc1, no volume label.
syslinux
大きなセクタサイズはサポートされていないため、512バイトのセクタが必要です。
ベストアンサー1
のための:
警告:32ビットFATには十分なクラスタがありません!
mkfs.fatコマンドで-s2パラメーターを使用できます。
一方、
if (sector_size_set)
{
if (ioctl(dev, BLKSSZGET, &min_sector_size) >= 0)
if (sector_size < min_sector_size)
{
sector_size = min_sector_size;
fprintf(stderr, "Warning: sector size was set to %d (minimal for this device)\n", sector_size);
}
}
最初の警告を提供するコードの断片です。ご覧のとおり、セクタサイズが設定されている場合はデバイスの最小論理セクタサイズを取得し、指定されたセクタサイズが最小セクタサイズより小さい場合は警告を発行し、最小セクタサイズをセクタとして指定します。サイズ。面積サイズ。