Ubuntu Live USBでパーティションを上書きする

Ubuntu Live USBでパーティションを上書きする

UbuntuライブUSBを作成しました。

$ dd if=/path/to/ubuntu.iso of=/dev/sdb

ディストリビューションをインストールしました。さて、USBを再び通常のストレージ使用に切り替えたいと思います。

$ lsblk
sdb      8:16   1    15G  0 disk 
├─sdb1   8:17   1   1,4G  0 part  # Ubuntu is here
└─sdb2   8:18   1   2,3M  0 part  # Extra space I guess

$ sudo gdisk /dev/sdb
> p  # list patitions
Command (? for help): p
Disk /dev/sdb: 0 sectors, 0 bytes
Logical sector size: 512 bytes
Disk identifier (GUID): A9CA0E15-8539-47B8-9BD1-4942D18E789B
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 18446744073709551582
Partitions will be aligned on 2048-sector boundaries
Total free space is 0 sectors (0 bytes)

Number  Start (sector)    End (sector)  Size       Code  Name

ご覧のとおり、リストされているパーティションがなく、ディスクが空であるように見えます。

それでも私は新しいものを作ってみました。

Command (? for help): n
Partition number (1-128, default 1): 
First sector (34-18446744073709551582, default = 2048) or {+-}size{KMGTP}: 
Last sector (2048-18446744073709551582, default = 18446744073709551582) or {+-}size{KMGTP}: 
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 
Changed type of partition to 'Linux filesystem'

次に、変更を作成します。

Command (? for help): w
Caution! Secondary header was placed beyond the disk's limits! Moving the
header, but other problems may occur!
Warning! The claimed last usable sector is incorrect! Do you want to correct
this problem? (Y/N): Y
Have adjusted the second header and last usable sector value.

Problem: partition 1 is too big for the disk.
Aborting write operation!
Aborting write of new partition table.

だから動作しません。私は何が間違っていましたか?現在、彼のUSB SickはまだLive USBとして使用できます。


編集1

いいですね。答えを受ける前に、各パーティションをフォーマットしてみました。

$ sudo mkfs.ext4 /dev/sdb1
$ sudo mkfs.ext4 /dev/sdb2

その後、パーティションIDを確認しました。

$ blkid /dev/sdb*
/dev/sdb1: UUID="eea83bc3-408b-4287-8c35-0cceeee837bb" TYPE="ext4" 
/dev/sdb2: UUID="1138f1f8-0840-44fe-bb89-935993ed83af" TYPE="ext4" 

以下を試してくださいfdisk

$ sudo fdisk /dev/sdb
fdisk: unable to read /dev/sdb: Invalid argument

その後、Alex Stragies提案されているようにファイル署名を削除しました。

$ dd if=/dev/zero of=/dev/sdb count=4 bs=1M

fdisk今回は効果がありました:

$ sudo fdisk /dev/sdb

私は新しいものを作りますmsdos partition table

> o  
Building a new DOS disklabel with disk identifier 0xb4151e51.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
You must set cylinders.
You can do this from the extra functions menu.

変更を保存して終了しますfdisk

>  w
The partition table has been altered!

Syncing disks.

これでパーティションをチェックすると、fdisk私のデバイスは16 GBではなく約4 MBと表示されます!私のUSBフラッシュドライブは約16GBでなければなりません。

$ sudo fdisk /dev/sdb
> p
Disk /dev/sdb: 4 MB, 4194304 bytes
131 heads, 2 sectors/track, 31 cylinders, total 8192 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

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        8191        4095+  ee  GPT

gdiskを使用してください:

$ sudo gdisk /dev/sdb
> p
Disk /dev/sdb: 8192 sectors, 4.0 MiB
Logical sector size: 512 bytes
Disk identifier (GUID): 5A262CEA-114A-4DF7-B2D3-99634D40398A
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 8158
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            8158   3.0 MiB     8300  Linux filesystem

これを使用すると、lsblkデバイスの容量が15GBで、2つのボリューム、つまり1,4Gと2,3Mがあることがわかります。

$ lsblck
sdb      8:16   1    15G  0 disk 
├─sdb1   8:17   1   1,4G  0 part 
└─sdb2   8:18   1   2,3M  0 part

どうしたの?私はここで完全に迷子になった


編集2

私はddcountとfdisk。 count = 2000を使用してdd2 GBをコピーできます。

$ dd if=/dev/zero of=/dev/sdb count=2000 bs=1M

しかし、それはすべてです。を指定すると、count=30002GBのみがコピーされます。

明らかに、私は3年前にこの問題に遭遇し、以前のUSBスティックに問題がある可能性があることを聞いて諦めました。 Ubuntu Live USBスティックとしても使用してからフォーマットしましたが、破損しているため見つかりませんでした。今、同じ状況でUbuntuでもこれが起こっています。以前は何度もArch Linux USBスティックとして使用していましたが、再フォーマットしても失敗したことはありません。ユーザーは、ライブUSBスティックの作成(Ubuntuを使用)に関連する同じ問題を説明する別のスレッドをインターネットで見つけました。しかし、まだ明確な解決策を見つけることができませんでした。再フォーマットしたり、未割り当て領域のための新しいパーティションを作成したりするなどの提案をした人を読んだことがあります。明らかに誰かはすでにこの問題を経験して防弾解決策を見つけたでしょうか?それともUSBスティックが永久に紛失したのでしょうか?

ベストアンサー1

fdiskはiso9660ファイルシステムを見ているため、デバイスを開くことができない可能性があります。

これは確認できますblkid /dev/sdb*

とにかく、私はこれを試してみることができます:

  • dd if=/dev/zero of=/dev/sdb count=4 bs=1Mこれにより、最初からすべてのファイルシステム署名が削除されます。
  • fdisk /dev/sdbもう一度お試しください
  • タスクの開始o(新しいMS-DOSパーティションテーブルの作成)

  • 次にパーティションを追加し、キーを押してnからpEnterキーを数回押して最大サイズを選択します。 (そうでない場合、fdiskは小さな仮想パーティションを作成します)

  • t必要に応じてパーティションタイプの変更を使用してください。

インストールがブロックデバイスの変更を確実に検出し、そのためにカーネルマップを更新できることを確認する必要があります。不明な場合と間にpartprobe力を加えてください。ddfdisk

おすすめ記事