2014/03/09 (Sun) 16:58
使おうとした4GBのUSBメモリが2GBずつ2つのパーティションに分かれていて、1つに戻したかったのでLinux(CentOS6.4)を使って作業しました。
その時のメモです。作業はすべてrootで行います。
この方法で作成したUSBメモリのパーティションに書き込んだubuntuで無事にブートすることができました。
その時のメモです。作業はすべてrootで行います。
- USBメモリをLinuxにつなぐ
- USBメモリのスペシャルファイル名を調べる。
あらかじめUSBメモリのラベル名がわかっているなら、/dev/disk/by-labelにできたシンボリックリンクが指し示す実体を見ればわかります。
linux# cd /dev/disk/by-label linux# ls -l lrwxrwxrwx. 1 root root 10 3\u6708 9 16:04 2014 HDDREG -> ../../sdj1
この例ではUSBメモリにHDDREGというラベルがついていて、それの実体が/dev/sdj1であることがわかります。よってUSBメモリのスペシャルファイル名は/dev/sdjになります。
念のため、fdisk -lを実行してパーティションの状態を確認します。
linux# fdisk -l (略) ディスク /dev/sdj: 4001 MB, 4001366016 バイト ヘッド 64, セクタ 32, シリンダ 3816 Units = シリンダ数 of 2048 * 512 = 1048576 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x00000000 デバイス ブート 始点 終点 ブロック Id システム /dev/sdj1 * 1 1967 2014192 e W95 FAT16 (LBA)
ファイルシステムがW95 F16なのでUSBメモリと考えて問題なさそうです。これを間違えてしまうと大変なことになるので慎重に調べます。不安なら/dev/disk/by-idや/dev/disk/by-pathでls -lコマンドを実行するのも効果的です。たいてい"usb"という文字列が含まれているシンボリックリンクがあります。今回の例を示すと以下のようになります。
linux# ls -l /dev/disk/by-id (略) lrwxrwxrwx. 1 root root 9 3\u6708 9 16:31 2014 usb-Sony_Storage_Media_9B2001102180001905-0:0 -> ../../sdj lrwxrwxrwx. 1 root root 10 3\u6708 9 16:31 2014 usb-Sony_Storage_Media_9B2001102180001905-0:0-part1 -> ../../sdj1 (略) linux# ls -l /dev/disk/by-path (略) lrwxrwxrwx. 1 root root 9 3\u6708 9 16:31 2014 pci-0000:00:1a.0-usb-0:1.4:1.0-scsi-0:0:0:0 -> ../../sdj lrwxrwxrwx. 1 root root 10 3\u6708 9 16:31 2014 pci-0000:00:1a.0-usb-0:1.4:1.0-scsi-0:0:0:0-part1 -> ../../sdj1 (略)
- 以下のコマンドでUSBの先頭にあるパーティションテーブルを消します。
ofがHDDだと大変なことになるので上に書いたように慎重に確認しておく必要があります。
linux# dd if=/dev/zero of=/dev/sdj bs=512 count=64 64+0 records in 64+0 records out 32768 bytes (33 kB) copied, 0.013923 s, 2.4 MB/s
念のためにsyncしておきます。linux# sync
- あとは普通にfdiskでパーティションを切ります。
linux# fdisk /dev/sdj 警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを 強く推奨します。 and change display units to sectors (command 'u'). コマンド (m でヘルプ): d 選択した領域 1 コマンド (m でヘルプ): p ディスク /dev/sdj: 4001 MB, 4001366016 バイト ヘッド 64, セクタ 32, シリンダ 3816 Units = シリンダ数 of 2048 * 512 = 1048576 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x00000000 デバイス ブート 始点 終点 ブロック Id システム コマンド (m でヘルプ): n コマンドアクション e 拡張 p 基本パーティション (1-4) p パーティション番号 (1-4): 1 最初 シリンダ (1-3816, 初期値 1): 初期値 1 を使います Last シリンダ, +シリンダ数 or +size{K,M,G} (1-3816, 初期値 3816): 初期値 3816 を使います コマンド (m でヘルプ): p ディスク /dev/sdj: 4001 MB, 4001366016 バイト ヘッド 64, セクタ 32, シリンダ 3816 Units = シリンダ数 of 2048 * 512 = 1048576 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x00000000 デバイス ブート 始点 終点 ブロック Id システム /dev/sdj1 1 3816 3907568 83 Linux コマンド (m でヘルプ): t 選択した領域 1 16進数コード (L コマンドでコードリスト表示): b 領域のシステムタイプを 1 から b (W95 FAT32) に変更しました コマンド (m でヘルプ): p ディスク /dev/sdj: 4001 MB, 4001366016 バイト ヘッド 64, セクタ 32, シリンダ 3816 Units = シリンダ数 of 2048 * 512 = 1048576 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x00000000 デバイス ブート 始点 終点 ブロック Id システム /dev/sdj1 1 3816 3907568 b W95 FAT32 コマンド (m でヘルプ): w パーティションテーブルは変更されました! ioctl() を呼び出してパーティションテーブルを再読込みします。 警告: DOS 6.x パーティションを作成、または変更してしまった場合は、 fdisk マニュアルの追加情報ページを参照してください。 ディスクを同期しています。 linux#
この方法で作成したUSBメモリのパーティションに書き込んだubuntuで無事にブートすることができました。
ランキングに参加してみました。クリックしていただければ嬉しいです。
にほんブログ村 |
パソコン ブログランキングへ |
PR
Comment
プロフィール
HN:
zui
性別:
非公開
カテゴリー
最新記事
(09/28)
(09/03)
(08/26)
(07/23)
(05/24)
PR
忍者カウンター