こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

ubuntu 外付HDDのUUIDを変更するには

ubuntu-ja-17.10.1でUSB接続したHDDのUUIDを変更したいのですが
https://kledgeb.blogspot.jp/2012/10/ubuntu-gparted-19-uuid.html
のようにGPartedで変更しようとしたところ
「2.新しいUUIDの選択」の右クリックで
「New UUID」のメニューがグレー表示になっていて選択できません。

USB接続のHDDを接続すると
Nutilusの画面にこのドライブ内のフォルダやファイルは表示されて
中身を見たりコピーするはできます。
ディスクユーティリティーでこのドライブの
デバイス名、UUID、内容なども表示されます。
デバイス /dev/sda
UUID 4c35767854534252
内容   UDF -- /media/ubuntu/USB0003 にマウント中
しかし、GPartedを起動すると、
このディスクのすべての領域が未割り当てになっています。
このためか、「2.新しいUUIDの選択」の右クリックで
「New UUID」のメニューがグレー表示になっていて選択できません。
このような場合にはどのようにすればよいのでしょうか。

よろしくお願いします。

投稿日時 - 2018-01-28 18:10:59

QNo.9423234

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(8)

ANo.8

> 新しい装置でもう1台別のUBS-HDDを接続して認識させた後、
> このUUIDを読み取って、壊れた装置に接続されていた
> USB-HDDのUUIDをこの新しいUUIDに書き換えて

それなら、UUIDの書き換えでなく
Linux (ubuntu)で2台のUSB-HDD(UDF)をマウントして、
元のUSB-HDDから 新しく認識させたUSB-HDDに中身をコピーする方法もあるかと。
容量大きいと 時間かかるでしょうけど。

> tune2fsツールやddコマンドのようなことができる
> UDFに対応しているツールやコマンドはないのでしょうか。

LinuxでわざわざUDFを使った経験がないので、よくわかりませんが
https://lwn.net/Articles/742502/
には、udftoolsのVer2で UUIDの変更(udflabelコマンド)に対応した
ようなことが書いてありました。
(ディスク壊しても責任とれないので、自己責任で)

投稿日時 - 2018-02-05 11:58:04

お礼

回答ありがとうございます。

>Linux (ubuntu)で2台のUSB-HDD(UDF)をマウントして、
>元のUSB-HDDから新しく認識させたUSB-HDDに
>中身をコピーする方法もあるかと。

最初この方法でコピーしたのですが
新しい装置でデータは読めるものの
なぜかUSB-HDDの残り残量が0になって
書き込みができない状態になっていました。
もしこの原因と対処方法をご存知でしたら
教えて頂けないでしょうか。

>https://lwn.net/Articles/742502/
>には、udftoolsのVer2でUUIDの変更(udflabelコマンド)
>に対応したようなことが書いてありました。

の方ですが、こちらもあまり良い返事ができません。
udftools 2.0をダウンロードして
sudo apt-get install udftools
でインストールしたのですが、
udflabelやsudo udflabelと入力しても
udflabelいうコマンドはないと表示されます。
コマンドのヘルプを見ることもできません。
ダウンロードしたファイルの中にDOC
というフォルダはあるのですがドキュメントとして
見ることができません。(見方が分かりません)
Googleでudflabelを検索しているのですが
udflabelの使い方がよく分からないのが現状です。

よろしくお願いします。

投稿日時 - 2018-02-06 20:31:01

ANo.7

その機能が利用できる条件は、ファイルシステムが存在して
かつマウントされていない状態
GParted起動後に、マウント中に気づいてumountした場合
デバイス情報のリフレッシュ操作が必要になります。

実際にその機能を実行しようとすると、FAT32では
(コピペできないのでタイプミスあるかもしれませんが)
Changin the UUID might invalidate the Windows Product Activation(WPA)key

On FAT and NTFS file systems,the Volume Serial Number is used as the UUID.Changing the Volume Serial Number on the Windows system partition,normally C:,might invalidate the WPA key.An invalid WPA key will prevent login until you reactivate Windows.

Changing the UUID on external storage media and non-system partitions is usually safe,but guarantees cannot be given.

というダイアログでの確認が行われます。
よくわかりませんが、Windows用のファイルシステムには注意が必要のようです。

ext4の場合は、こういう警告は入りませんが
現在のLinux系OSでは、/etc/fstabでの記述が
UUIDベースで行われることが一般化していますから
その場合、UUID変更はマウント不能のトラブル誘因となります。

手作業でUUID記述を書き換えれば良いのですが
そもそも、ext4などでは実質的にUUID重複は起きないので
こういった変更作業の必然性は、かなり少ないと言えます。

まぁ、UUIDはそういうものなので、普通は変更するものじゃありません。


それはさておき、UDFでHDDを使うことは、普通ありません。

ですから、起きているのは、そういう話とはまた違う
なにか特殊なことが起きているように思えます。

実例が、どこのどの製品で起きるのかは知りませんが…

もしかしたら、付属ソフトのインストールのために
DVD互換機能を持っている外付けHDD製品があったと記憶していますから

Nautilusから見えているのは、そのHDDで
GPartedから見ているのは、DVD互換機能のほうなんじゃないかと思います。


そういう製品を、Linux系OSから使った例の記事は見たことありませんし
メーカーからも、その内部構造を公開していないので
それがどういうふうに見えるのかは知りません。

ゼロインストール機能を備えたUSB機器でおきたような
めんどうくさい機能を、便利として実装された製品の場合もあり得ます。

GPartedから認識しているデバイスが、そのデバイスと
起動用のデバイス以外にも無いか確認してみましょう。

投稿日時 - 2018-02-05 07:18:44

お礼

回答ありがとうございます。

いろいろ調べていましたがよく分かりませんでした。

>Nautilusから見えているのは、そのHDDで
>GPartedから見ているのは、DVD互換機能
>のほうなんじゃないかと思います。

GPartedからDVD互換機能のほうではなくHDDの方を
見るようにすることはできないのでしょうか。

>GPartedから認識しているデバイスが、
>そのデバイスと起動用のデバイス以外にも無いか確認してみましょう。

何を確認すればよいのかがよく分からないのですが
具体的に教えていただけないでしょうか。
なお、UbantuはDVDディスクから起動していて、
内臓HDDドライブはありません。
データ用の外付けのUSB-HDDには起動用のOSは入っていませんので
起動用のデバイスも入っていないと思われます。

よろしくお願いします。

投稿日時 - 2018-02-11 15:42:56

ANo.6

uuidgenは汎用のUUID文字列を生成するだけですので、
それをLinuxのファイルシステムに設定するには
tune2fs -U `uuidgen` /dev/デバイス名
となります。
(/etc/fstabでUUIDを指定してマウントしたいなら、
 デバイスのUUIDと/etc/fstabのUUID合わせないとマウントされないということで
 /etc/fstabを変更するたけで デバイス側のUUIDが変更される訳ではなくて)

なので、任意のUUIDに変更したいなら
tune2fs -U 任意のUUID /dev/デバイス名
で、ということになるでしょう。
ただし、tune2fsが対応しているのはLinuxのext2, ext3, ext4ファイルシステムだけですので、UDFは非対応です。

というか、そもそも 光メディア用であるUDFファイルシステムをマウントして
リード(中身を参照したりコピー)する以外に なにに使おうとしているのかを
明確にされれば もうすこし違う角度のアドバイスを頂けるような気がます。
(UDFじゃなくて ext4に書き出しておきべきとか)

投稿日時 - 2018-01-31 14:39:12

補足

【追記】

>というか、そもそも 光メディア用であるUDFファイルシステムを
>マウントしてリード(中身を参照したりコピー)する以外に 
>なにに使おうとしているのかを明確にされれば 
>もうすこし違う角度のアドバイスを頂けるような気がます。
>(UDFじゃなくて ext4に書き出しておきべきとか)

装置が壊れてその外部記憶装置であるUSB-HDD
のデータを新しい装置で利用したいが、
USB-HDDはUUIDで管理されているらしく、
USB-HDDをそのまま新しい装置に接続しても認識されない。
新しい装置でもう1台別のUBS-HDDを接続して認識させた後、
このUUIDを読み取って、壊れた装置に接続されていた
USB-HDDのUUIDをこの新しいUUIDに書き換えて
新しい装置に接続して利用できないかを確認したいのです。

よろしくお願いします。

投稿日時 - 2018-02-04 19:37:07

お礼

回答ありがとうございます。

tune2fsコマンド実行時に
Bat magic number in super-block while trying to open /dev/sda
というようなメッセージが表示されていたので変だと思っていましたが
UDF非対応ということだったんですね。

また、
dd if=/dev/sda of=./test.bin bs=512 count=10
でディスクの先頭512バイトをファイルに書き出して
このデータをbviで見てみたのですが
先頭の数十バイトだけが00以外のデータで、
00000050以降はすべて00でしたので、
どうも、ddコマンドでもHDDのUDFの領域に
アクセスできていないようです。
ddコマンドもUDFに対応していないのでしょうか。

UbuntuのNautilusでは
UDFのHDDの中身が表示されていてコピーもできますし、
ディスクユーティリティーでもUDFのHDDのデバイス名やUUIDなどが
確認できますのでUDFに対応していると思われますが、

tune2fsツールやddコマンドのようなことができる
UDFに対応しているツールやコマンドはないのでしょうか。
もし、ご存知でしたら試してみたいので教えてください。

よろしくお願いします。

投稿日時 - 2018-02-04 18:10:47

ANo.5

UUIDの仕組みに対する認識が低いですが、上辺だけの知識で回答します。

まず最初に、UUIDを任意の値に設定したいと希望されているのであれば無理だと思います。

通常、UUIDを変更するには uuidgen コマンドにより 新しいUUIDを生成させ、それを fstab(ubuntuであれば /etc/fstab)内の目的とするデバイスのUUIDを書き換えることで、UUIDを変更することが出来ます。
※もちろん、書き換え後は要OS再起動。
※GPartedの「New UUID」機能も、内部的にはuuidgenコマンドを叩いているのでしょう。

質問者さんがどのような目的でUUIDを変更したいのかわかりませんが、今回の場合はUSB-HDDということで、fstabにデバイスの記述がないと思いますので、fstabにOS起動時にUSB-HDDを自動マウントする設定を記述した後(この時点ではUUIDの記述がなくてもかまいません)、uuidgenで新しいUUIDを生成、その後fstabに新しいUUIDを記述、最後にOS再起動。

これでUUIDを書き換えできそうな気がします。

余談ですが、私が良く使うUUIDの変更は、
OSシステムが入ったパーティションをイメージでバックアップしたものを、別のHDDへ戻した後、新しいHDDのUUIDとfstab記述のUUIDが違うため起動不能になります。
このようなときにOSの起動ディスク(DVD等)から起動して、上記の操作でUUIDを書き換えています。

投稿日時 - 2018-01-29 21:31:41

お礼

回答ありがとうございます。

いろいろやっているのですがうまくいきません。

通常は、Windowsを使っていますが、
WindowsではUDFのHDDが認識できないため、
一時的に、LinuxのubuntuのDVD-Rディスクで、
「ubuntuを試す」で起動しています。
fstabを書き換えても再起動で元に戻されてしまいます。

このため、UbuntuをHDDにインストールしてみたのですが
HDDにインストールしたUbuntuでは、
sudo nautilusで起動するとパスワードをきいてきて
パスワードを入力した後に以下のように表示されて
ルート権限のnautilusを起動することができません。
---------------------------
XX@xxxxxx:~$ sudo nautilus
[suso] XXのパスワード :
No protocol specified
Unable to init server: Could not connect: 接続が拒絶されました
(nautilus:1370): Gtk-WARNING **: canot open disp;ay: :0
XX@xxxxxx:~$
---------------------------
この原因が分かりましたら教えてください。

なお、ディスクで「ubuntuを試す」で起動した時は、
sudo nautilus
でルート権限のnautilusが起動できます。

>このようなときにOSの起動ディスク(DVD等)から起動して、
>上記の操作でUUIDを書き換えています。

と書かれていますが、
起動ディスク(DVD等)から起動しても、
変更したメモリ上の内容が初期化されない
フォームブートのような方法があるのでしょうか。

よろしくお願いします。

投稿日時 - 2018-02-04 17:29:19

ANo.4

見逃しておりました。UDFだったのですね。
お使いのGPartedの「表示」メニューの”サポートするファイルシステム”に
UDFはありますでしょうか。

なお、UDFは DVD/CD/BD用のファイルシステムなので、
HDDにイメージを書き込んだ時点で固定化されるのではないでしょうか。

投稿日時 - 2018-01-29 19:52:43

お礼

回答ありがとうございます。

>お使いのGPartedの「表示」メニューの”サポートする
>ファイルシステム”にUDFはありますでしょうか。

GPartedの「表示」メニューにはUDFが見当たりませんので
GPartedはUDFには対応していないようです。

>なお、UDFは DVD/CD/BD用のファイルシステムなので、
>HDDにイメージを書き込んだ時点で
>固定化されるのではないでしょうか。

この件をいろいろ調べていましたがよく理解できませんでした。

GPartedのようにHDDディスク管理ができるツールで
UDFに対応しているツールはありますでしょうか。

よろしくお願いします。

投稿日時 - 2018-02-04 16:52:51

ANo.3

> 内容   UDF -- /media/ubuntu/USB0003 にマウント中

UUID(世界で唯一のID) をわざわざ変更するってことをやったことないので、
想像ですが Linuxでこの手のパーティション系の操作って
操作対象をマウントしたままではできないはずです。

USB接続はしたままで、 アンマウント してから
(rootで umount /media/ubuntu/USB0003)
GPartedを起動してみてはどうでしょう。

投稿日時 - 2018-01-28 23:14:23

お礼

superside0 さん
gobou_poo さん

回答ありがとうございます。

>全部終了、Gparted だけ起動でどうですか?

>USB接続はしたままで、 アンマウント してから
>(rootで umount /media/ubuntu/USB0003)
>GPartedを起動してみてはどうでしょう。

USB接続はしたままでアンマウントしてから
すべて閉じた状態で、端末だけを起動して
sudo gpartedでGPartedを起動してみましたが、
すべての領域が未割り当てになった状況は変わらず、
「New UUID」のメニューがグレー表示になっていて
UUIDを変更することができませんでした。

GPartedはUDFに対応しているのでしょうか。

今回のHDDはテスト用に小さいデータを書き込んだものですが
もっと多くのデータを書き込んだHDDをつなぐと、
全体が未割り当てに表示されているのは同じですが
1.82TBよりもずっと小さい値になっています。
どうもデータが存在する領域が表示されていないようです。
つまり、GPartedがUDFに対応していないため
UDFの部分が表示できず、UDFの未使用の部分だけが
未割り当てとして表示されてしまっているのではないでしょうか。

GPartedを使わずにUUIDを変更する方法はないでしょうか。

よろしくお願いします。

投稿日時 - 2018-01-29 15:05:33

さらに、ごめんなさい。

DISK が Gparted をロックしてます。
基本、同じプログラムなので、ロックされてます。

全部終了、Gparted だけ起動でどうですか?

投稿日時 - 2018-01-28 22:46:14

お礼

同じような返答になり同じ内容の繰り返し書き込みを避けるため
No3の回答者様の所でいっしょに返答させていただきました。
よろしくお願いします。

投稿日時 - 2018-01-29 15:06:06

まってください。このHDD使ってないんですよね。

データ無くなっても良いですが?
画像を見る限りではHDDが使えません。

パーティションって言って、最大4に区切ることができます。
それを「NTFS」で取ったのを「ext3」に変更するのをUUID変更とかいうんです。

FAT16 では32GBが最大。FAT32でとるんですが、今時FATもないよなーと、EXT2とか選ぶと、Windowsで読めなくなるし、マウントも面倒でした。

私の場合、NTFSで取りました。

HDDのデータは責任が取れません。私ならどうした、って経験話はできるけど、どうするかは自分で判断してください。

投稿日時 - 2018-01-28 21:36:56

お礼

>まってください。このHDD使ってないんですよね

いえ、使っています。
ディスクユーティリティーでUDFと表示されます。
Nutilusの画面にはフォルダやファイルが表示されています。
Nutilusを2個起動して、このHDDのフォルダやファイルを
もう1つ別のHDDにコピーすることもできます。

>「NTFS」で取ったのを「ext3」に変更するのをUUID変更とかいうんです

UUID変更にいろいろあるのかもしれませんが、
私がしたいことは、
「NTFS」を「ext3」に変更することではなく、
コピー先のHDDのUUIDをコピー元のUUIDの値に書き換えたいのです。
どちらのHDDもUDFです。

よろしくお願いします。

投稿日時 - 2018-01-28 21:51:39

あなたにオススメの質問