ディスクラベルとファイルシステムラベル付きのUSBがあります。ディスクラベルを変更する方法を知りたいです。
ディスクラベルがないという内容をどこでも読みました。私もそう思いましたが、そんなことがあると思います。
このタグはどこに保存され、どのように変更しますか?
#↳ lsblk -o name,mountpoint,label
sda
├─sda1 / debian-root
├─sda3 /home home
└─sda4 [SWAP]
sdd
└─sdd2 /media/user1/extra extra
sde Debian 8.10.0 amd64 1
└─sde1 /media/user1/label1 label1
#↳ ll /dev/disk/by-label/
total 0
lrwxrwxrwx 1 root root 10 Jul 23 10:32 label1 -> ../../sde1
lrwxrwxrwx 1 root root 10 Jul 16 14:43 debian-root -> ../../sda1
lrwxrwxrwx 1 root root 9 Jul 23 10:32 'Debian\x208.10.0\x20amd64\x201' -> ../../sde
lrwxrwxrwx 1 root root 10 Jul 22 11:44 extra -> ../../sdd2
lrwxrwxrwx 1 root root 10 Jul 16 14:43 home -> ../../sda3
#↳ /sbin/fdisk -l /dev/sde
Disk /dev/sde: 14.9 GiB, 16025387008 bytes, 31299584 sectors
Disk model: STORE N GO
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: 0x4f71a989
Device Boot Start End Sectors Size Id Type
/dev/sde1 2048 31299583 31297536 14.9G c W95 FAT32 (LBA)
#↳ strings /dev/sde | head -n 7
EFI PART
Apple
Apple_partition_map
Apple_HFS
CD001
Debian 8.10.0 amd64 1
XORRISO-1.4.6 2016.09.16.133001, LIBISOBURN-1.4.6, LIBISOFS-1.4.6, LIBBURN-1.4.6
更新:分割されたテーブルは複数ありますか?そして、この問題を処理する規則は何ですか?
#↳ /sbin/wipefs /dev/sde
DEVICE OFFSET TYPE UUID LABEL
sde 0x8001 iso9660 2017-12-09-22-16-00-00 Debian 8.10.0 amd64 1
sde 0x1fe dos
sde 0x200 gpt
#↳ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
ベストアンサー1
ドライブの以前のISOバージョンがあったようですdd
。ラベルにはこれを明確に表示しており、EFIそしてりんごこれはスーパーブロックの文字列でもサポートされています。 ISOファイルには、さまざまなシステムから起動できるように複数のパーティションテーブルがあります(このブログ投稿Fedora ISOイメージの詳細な説明があり、Debianの場合も同様です。ドライブを適切にフォーマットしても、さまざまなメタデータの残りの部分がすべて消去されたとは思いません。だからlsblk
今ドライブにラベルが付けられているようです。
このコマンドを実行しようとすると、デバイスにメタデータ(lib)blkidが表示されることが表示されます(タグ付きの破損したiso9660があっても驚くことはありません)。そのうちの1つだけを削除することをwipefs /dev/sde
選択できます。wipefs -o <offset>
タグ。パーティションにデータがある場合は、削除が発生しないようにする前にバックアップを作成することをお勧めします。最初の数セクタにゼロを追加するだけでdd
問題は解決されます(ただし、これによりFATファイルシステムも破損します)。
私はDebian 8 ISOで遊んでおり、iso9660を削除せずに意図的に既存のパーティションテーブルを削除すると、同じ結果が得られます。
$ lsblk /dev/loop0 -o+FSTYPE,LABEL
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS FSTYPE LABEL
loop0 7:0 0 163M 0 loop iso9660 Debian 8.10.0 arm64 1
└─loop0p1 259:4 0 162M 0 part vfat label1
label1
(また、パーティションをラベル付きVFATとしてフォーマットしました。タグ1あなたと同じ設定を取得するには)
wipefs
ソースiso9660および新しく作成されたパーティションテーブルを報告します。
$ sudo wipefs /dev/loop0
DEVICE OFFSET TYPE UUID LABEL
loop0 0x8001 iso9660 2017-12-10-00-50-50-00 Debian 8.10.0 arm64 1
loop0 0x1fe dos
fdiskに既存の形式を削除しないように明示的に指示する必要がありました。--wipe never
デフォルトの振る舞いは、新しいパーティションテーブルを作成するときにすべてを削除することです。 iso9660形式はディスクから削除されません。ラベルは実際にはiso9660ファイルシステムのラベルです。
パーティションテーブルは複数ありますか?そして、この問題を処理する規則は何ですか?
はい、あなたはそうでした。 DOSパーティションテーブルが初めてなので勝ちました。fdisk --type gpt
DOSパーティションテーブルを無視し、後でオフセットからGPTにアクセスできるようにするGPTを使用できます。ただし、複数のパーティションテーブルを処理したくない一般的なシステムでは、ドライブをきれいに拭き取り、古いメタデータをすべて消去することをお勧めします。