アプリ版:「スタンプのみでお礼する」機能のリリースについて

isoデータをUSBに焼く(展開)する時に、
windows7で行っている時は、「LinuxLive USB Creator」というソフトを使用して行っていたのですが、
最近Linux(ubuntu)を使い始めて、その時は端末から「sudo dd if=/.. of=/..」を実行してisoを展開するのですが、
両者の違いに関して疑問に思っていることがあります、

それは、isoを焼いた後しばらくしたら、そのUSBを別の事に使用する為に、
フォーマットしようとすると起こる違いなのですが。
(USBは、使用可能領域が最大16GBと仮定します)

win7(「LinuxLive USB Creator」使用)で作業を行った際は、
スタート>コンピュータ>領域の選択>フォーマット
で、問題なくフォーマット出来るのですが、

linux(「ddコマンド」使用)でiso展開を行った場合、
「mkdosfs -F32 -nUSBNAME /div/sdb1」コマンドでフォーマットを行ったとしても、
16GBメモリのUSBの10GB余りが削除出来ずに、残ってしまいます。

(数字は曖昧な記憶で申し訳ないのですが、要するにisoを展開した部分が
「mkdosfs -F32・・」を使用しても、
GUI操作にて、「ファイル>デバイスを右クリック>フォーマット」を使用しても、
削除出来なくなっているのです)
詳しいエラー文言は覚えておらず、情報が抜けてしまい申し訳ありません。


そのUSBをwindows7に差し替えて見てみると、
元々は16GBのメモリなのに、最大容量が4GB(中身は空)のUSBとして認識されているのです、
(上記の通り、数字の記憶は曖昧で、間違っているかもしれません)

また、フォーマットを実行すると、「Windowsはフォーマットを完了できませんでした」というエラーが表示されます、
仕方がないので、windowsのコマンドプロンプトにて、Diskpart機能を実行してフォーマットするしか術を知らない状態でして・・。
(これだと、フォーマットする度にwinPCを立ち上げて、USBを差し替えて・・、と非効率なのですが・・)


質問をまとめると、
1・どうしてubuntu(ddコマンド)でisoを展開すると、USBは通常の通り
(「mkdosfs -F32・・」コマンドや、win7のスタート>コンピュータ>領域の選択>フォーマット)
ではフォーマット出来なくなるのでしょうか?、逆にwin7(「LinuxLive USB Creator」)なら何故通常通りフォーマット出来るのでしょうか。

2・win7のDiskpartのように、linux(ubuntu)にも、上記質問1~の状態になってしまったUSBを、完全にフォーマット出来る方法はありますか?
(「完全に」というのは、元々使用出来る領域が16GBのメモリだったら、16GB全ての要領が使用可能に開放されている状態のことです、
上記のように、「mkdosfs -F32・・」コマンド等では、フォーマット出来ない領域が出来てしまうので・・)。

ご存知の方がいらっしゃいましたら、ご回答お待ちしております。

質問者からの補足コメント

  • 必要の無い情報だとは思うのですが、
    実際に使用(USBに展開)したisoの種類は、ubuntu17.10や、zorinOS、centOS7(DVD iso)等です。

      補足日時:2018/03/19 04:46

A 回答 (3件)

isoファイルは、DVDインストールディスクを作成するための前段階のファイルです。


USBでのインストールは、M/Bが起動システムを持っている必要が有ります。
USBメモリに何かデータが在ったとしても、すべてが初期化されてインストールメディアとなります。
経験は無いのですが、USBメモリが初期化ができなかった時は、無効雑ファイルとして残っている様です。
私の持っている、USBメモリ2.0は、8GBでWindows10OSをisoではなくDLで直接に書き込んだもので半分近く空きです。
    • good
    • 0
この回答へのお礼

申し訳ありません、
専門的過ぎて、何を仰りたいのか、理解することが出来ませんでした。
恐らくは、質問に対して直接的な回答ではなく、補足のような感じなのかな・・?、
と見受けられたのですが・・、(勘違い(見当違い)でしたら申し訳ありません)

お礼コメントでは、回答に対して感じたことをお返ししたいのですが、
殆ど理解することが出来ず、感想をお返しすることが出来ませんでした。

親切に解説して頂いて、お気持ちはとても有難く感じております。
ご回答ありがとうございました。

お礼日時:2018/03/20 16:11

そもそも、mkdosfsコマンドはファイルシステム生成コマンドであってフォーマットコマンドではありません。



使用できない領域を生成したのは mkdosfs ではなく、パーティションを生成したコマンドです。

dd コマンドを使用したとのことなので、元ファイル(iso)に含まれるパーティション情報をそのままUSBメモリのパーティション情報として使用することになりますが、そのパーティション情報が「うまくない」ことになります。

dd コマンドは単にシーケンシャルに上書きするだけのコマンドなので元ネタが命です。
なので、その元ネタが間違っているということです。

つまり、ベンダーから配布されるインストール用の iso をそのまま dd コマンドでUSBメモリーに書き込んでいることが問題ですね。

Live USB Creatorは自分自身でパーティションを生成し、isoファイルの内容を認識してコピーします。 (dd コマンドとは違います。 ddコマンドと同じ動作をするモードもありますが…)

一度完全にパーティションテーブルを初期化することをおススメします。

1. パーティションテーブルを初期化
 dd if=/dev/zero of=/dev/sdb bs=512 count=64
2. パーティションの生成
 fdisk /dev/sdb
3. ファイルシステムの生成
 mkdosfs ...

ちなみに、ブロックサイズによっては使用できない領域ができます。
(無理やり全領域使用するようにもできますが、おススメしません)
    • good
    • 1
この回答へのお礼

期化のコマンドまで載せて頂けて、とても有難く感じています。

>mkdosfsコマンドはファイルシステム生成コマンドであってフォーマットコマンドではありません。

「システム生成コマンド」や、「フォーマットコマンド」と、
isoを展開するだけでも、コマンドによって概念が異なるのですね・・。
考えが及んでおらず、恥ずかしい限りです・・。

まだまだ勉強しなければならないと痛感しました。
親身にご回答頂きまして、ありがとうございました。

お礼日時:2018/03/20 16:05

LinuxLive USB Creatorは使っていませんし、ここしばらくddコマンドで書き込んだこともありませんが…


# UNetbootinなら使ったことがある。

LinuxLive USB Creatorは、『既存のファイルシステム(たいていはFAT32)に、isoイメージ上のファイルとディレクトリを展開』するのでしょう。
USBメモリとしてはパーティションテーブルはそのままです。
対してddコマンドではパーティションテーブルとファイルシステムを壊して、isoイメージの内容を書き込みます。
パーティションテーブル壊しているのでisoイメージの容量分に切り詰められたようにみえます。


>フォーマット出来なくなるのでしょうか?
パーティションテーブル破壊しているのと、USB接続の光学ドライブっぽくみえるから…でしょうかね?

>linux(ubuntu)にも、上記質問1~の状態になってしまったUSBを、完全にフォーマット出来る方法はありますか?

パーティションテーブル壊れているので、ddコマンドで先頭512バイトを0埋めしたあとでfdiskコマンドで新たにパーティション切る必要があるかと。

無視してデバイス全体を…でも行けるかも知れませんが。
/dev/sdb1 ではなく、/dev/sdbで作成する。
ちなみにこっちだとUSB-FDD扱いになるかも知れません。
    • good
    • 0
この回答へのお礼

>ddコマンドではパーティションテーブルとファイルシステムを壊して、isoイメージの内容を書き込みます。

なるほど、そういったコマンドの特性があるのですね汗、
調べてみると、様々なサイトで、口をそろえるようにddコマンドのページが出てくるので、
てっきり「それ以外に無い」という固定概念があったのですが、
他の方がおっしゃられているように、そうならないコマンドの使い方も存在するのですね汗、

とても詳しく書いて頂いたので、自分の知識が及ばす、
まだ理解出来ない部分まで知るきっかけになりました、

親切なご回答をありがとうございました。

お礼日時:2018/03/20 16:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!