自動マウントしないようにできますか?
皆様こんばんわ。
過去の項目を捜してみましたが見つからなかったので、質問させてください。
外付けのハードディスクに複数のパーティーションがありますが、その内の一つの自動マウントをしないようにしたいのですが、どうしたらよいのでしょうか。
ディスクユーティリティでマウント解除をしても、再起動するとまたマウントされてしまいます。
よろしくいお願いします。
皆様こんばんわ。
過去の項目を捜してみましたが見つからなかったので、質問させてください。
外付けのハードディスクに複数のパーティーションがありますが、その内の一つの自動マウントをしないようにしたいのですが、どうしたらよいのでしょうか。
ディスクユーティリティでマウント解除をしても、再起動するとまたマウントされてしまいます。
よろしくいお願いします。
AutomatorでApplicationを作って...
System Preferences > Accounts > Login Itemsに入れたら如何でしょう。
# run appleScript
tell application "finder"
do shell script "hdiutil unmount /Volumes/volumename"
end tell
または...
# run shell script
hdiutil unmount /Volumes/volumename
処理は早いですよ。:-)
多少は勉強されないと分からない事がかも知れませんが...
そこまでは面倒を見られませんので... あしからず :-)
その方法は、常に接続状態の外付けディスクに対してのみで、あとから接続したディスクには効きませんよね。
基本的に、あるパーティションだけ自動マウントしないようにする方法は無いと思います。(自動マウントするかどうかは、確かドライブの中に書かれているドライバの設定ではなかったかと。)マウントした後、すぐ手動でアンマウントするぐらいしか方法は無いでしょう。
そもそも、なぜ自動マウントしてはまずいのでしょうか?
>基本的に、あるパーティションだけ自動マウントしないようにする
>方法は無いと思います。
/etc/fstab を利用して、noauto オプション指定すればマウントしない
と思います。
$ sudo cp /etc/fstab /etc/fstab.bak
$ sudo nano /etc/fstab
で、最初に /etc/fstab を fstab.bak と言う名前でバックアップして
single line editor の nano で /etc/fstab を開きます。
# 付きで見本の書式が書かれています。
自動でマウントさせたくないボリューム名を LABEL で指定するか、
そのボリュームの UUID を調べて(syslog に出ています)、UUID
でそのボリュームを指定します。
マウントポイントを変更したいわけではないと思うので、通常の
マウントポイントである /Volumes/[partition_name] を指定します。
ドライブのマウントオプションで読み書き可能にする場合は rw、
読み込み専用ボリュームとして扱うなら ro を指定し、カンマで区
切って、noauto オプションを付記します。
例)
# fs_spec fs_file fs_vfstype fs_mntops
#
# UUID=DF000C7E-AE0C-3B15-B730-DFD2EF15CB91 /export ufs ro
# UUID=FAB060E9-79F7-33FF-BE85-E1D3ABD3EDEA none hfs rw,noauto
# LABEL=This\040Is\040The\040Volume\040Name none msdos ro
LABEL=[partition_name] /Volumes/[partition_name] hfs rw,noauto 1 2
または
UUID=0A3F35AE-5170-4A48-A27A-0D704F0074A4 /Volumes/[partition_name] hfs rw,noauto 1 2
上記の UUID はこちらで uuidgen で適当に発生させた物なので
必ず、ご自分の環境で当該の volume/partition に割り当てられ
ている UUID を確認してください。
ctrl+x で上書き確認して、/etc/fstab の編集内容を保存し、nano を
終了し、再起動すると、/etc/fstab の内容が有効になります。
> 常に接続状態の外付けディスクに対してのみで、あとから接続したディスクには効きませんよね。
Automaterで作ったApplicationをclickすればOKです。
> 確かドライブの中に書かれているドライバの設定ではなかったかと。
3rd partyのDrive Softなら可能だと思います。
LaCie, FWBなど。 # 過去にFWBで行った事が... Passwordをつけて...
> etc/fstab を利用して、
PantherはfstabはありますがTigerは無くなってしまいました。:-)
> PantherはfstabはありますがTigerは無くなってしまいました
やったことはないのでうまくゆくかどうか分かりませんが。
ディレクトリーアクセスで、BSD フラットファイルを使う、にチェックを入れれば、使えるようになるのでは?
>PantherはfstabはありますがTigerは無くなってしまいました。:-)
BSD 由来の部分ですから、ないのであれば、作ってやれば、動作する
と思いますが。
launchd みたいに従来の init に依存しない部分と違って /etc/rc は
依然として launchd が起動プロセスを行う中で読み込まれて、fstab
も当然参照されますから、問題ないと思います。
> /etc/rc は 依然として launchd が起動プロセスを行う中で読み込まれて、fstab も当然参照されますから、問題ないと思います。
起動を速くするためだと思うのですがTigerはrcに書き込んでも読んでくれなくなってしまったのですが巧い方法はあるのかなぁ。
何をどのように書き込んで、それがどのように反映されると期待して
いるのに、結果はどのようになるのか、具体的に説明して頂かないと、
意味を計りかねます。
/etc/rc を自分で改変するって、どういう意味だか、分かっておられ
ますよね、もちろん? (^^;
Xanaduさま
verbose modeを書き込みたいのですが...
rcに/usr/sbin/nvram boot-args="v"を書き込んでも読んでくれません。:-)
Terminalからだとsudo nvram boot-args="v"を行って再起動するとverbose modeになるのですが次の再起動だとvervose modeにはなりません。
Tinker Tool System 1.4 -> Startup -> Startup Options ->
Mac OS X Startup Mode: で "Start with diagnostic message
を選択すると、後は面倒を見てくれます。
Cocktail 3.6.4 にも同じ機能があります。Cocktail -> System
-> Startup -> Startup mode: で popup menu から Verbose
を選択すればいいです。
/etc/rc は自分で触らない方が無難だと思います。変数の引間違
い、書式ミス、わずか一文字のタイプミスで場合によっては Single
User Mode や Safe Boot すら出来なくなります。
すみません、Tinker ToolやCocktailは知ってますが使いたくないのです。:-)
/etc/rcはJaguarやPantherの時に弄っていますのでその辺は十分承知しています。
別volume(3GB)には全て同じ設定のOSXが入ってますので緊急時には起動できますしfileを切り出す事も可能です。ガタガタに壊れてもdmgからrestoreできます。dataは専用のvolumeからlinkしています。:-)
皆様、早速の沢山のご教示ありがとうございます。m(__)m
当方、昨年末にWindowsから移ってきたMac初心者なので、皆さんの書かれている内容を参考書を片手に理解しようと苦労しております(^^;)
ぴっぴさんの書かれているAutomatorのアプリケーションは、Tigerの再インストールを行い次第作ってみます。現在、何だかうまく動いてくれないので・・・
Y.Kawabeさんの言われている、なんで自動マウントしたくないかといいますと、外付けのHDD(100G)を二つのパーティーションに分けてあり、それぞれにOSのPantherとTigerがインストールしてあります。また、もう一台のHDDには、定期的にPantherのバックアップがコピーしてあります。
片方のOSから起動してソフトのインストール等を行おうとすると、ソフトによっては「既にインストールされています」等のメッセージが出てしまい、インストールできなくなってしまうのです。(他方のOSにインストールされているものを見つけているか、バックアップのものを見つけているかは不明です。)
そこで、他方のパーティーションを自動マウントさせたくない訳です。
Xanaduさんの書かれているのは、ターミナルから実行すればよろしいんですよね?
そこで、UUIDとはどうやって確認するのでしょうか。ヘルプも見てみましたがみつかりません。もう一度参考書を見てみますが、手順を解り易く記載して頂けると助かるのですがm(__)m
ちなみに皆様方はどのような参考書を読んでおられますか?
当方、毎日コミュニケーションズの「〜活用ガイド」、「〜マスターブック」及び秀和システムの「〜逆引き大全」を買ってきて調べております。
初心者にもわかりやすい参考書があったら教えてください。
よろしくお願いします。
> Automatorのアプリケーションは、Tigerの再インストールを行い次第作ってみます。現在、何だかうまく動いてくれないので・・・
volumenameをvolume名に変更すれば両方とも動きます。:-)
ただ、volume名にspaceがあったり、日本語名だと動かないかも知れません。
Automaterを起動してlibraryをautomater, Actionはrun appleScriptとrun shell scriptにしてpasteすれば使えます。run appleScriptはcompileして下さい。saveは両方ともapplicationでsaveすれば使えます。
> 定期的にPantherのバックアップがコピーしてあります。
OSXを含めて定期的にBackupしているのなら鮮度が落ちて使う時には使い物にならない何て事に... データのみをBackupすれば良いと思います。OSXはクリーンな時に保存しておくのが賢い方法だと思いますが...
> どのような参考書を読んでおられますか?
Googleで検索したり、あちらのSiteを見たり、manを見たりしています。
>片方のOSから起動してソフトのインストール等を行おうとすると、ソフトによっては「既にインストールされています」等のメッセージが出てしまい、インストールできなくなってしまうのです
その場合、手動でアンマウントすれば良い話で、最初からマウントされていても問題ないと思うのですが。ピッピさんのスクリプトを使えば、ダブルクリック一発でアンマウントは可能ですので、面倒は大してありません。
なお、「方法は無いのでは」などとコメントしてしまいましたが、PantherならXanaduさんの方法で問題なく自動マウントを解除する事は可能でした。
UUIDの確認は、マウント後、/var/log/system.logを見るとわかります。(system.logは定期的にローテーションされるので、もしsystem.logになかったら、system.log.0.gz、system.log.1.gz、...をチェックする必要があります。)
>Xanaduさんの書かれているのは、ターミナルから実行すれば
>よろしいんですよね?
はい、そうです。なるべく GUI 環境で可能な事は GUI ツールを
ご紹介するのですが、今回の件に関しては、旧 Mac OS のドラ
イバと違って、そういう方法が今のところないようなので
Terminal からの操作をご紹介しました。
>そこで、UUIDとはどうやって確認するのでしょうか。
UUID は多分、GUI 環境では意識する事すらない事象の事です
ので、Mac ヘルプには出てこないのだと思います。
Termianl で $ man fstab とか $ man uuid すると、BSD の
マニュアルが表示されます。かなり、取っつきにくいかとは
思いますが、ご参考までに。
UUID とは Universally Unique IDentifier の略です。つまり、
ご利用のマシンの MAC アドレスを絡めて、世界中で唯一無
二の識別番号です。$ uuidgen すると、簡単にご自身のマシ
ン上で UUID を発生させる事が可能です。
LABEL は、任意の文字列で、指定したいパーティション名を
割り当ててやります。
LABEL ですと、意図した・しない、に関わらず、何らかの
事情でマウントしたいパーティションの名称が変わってし
まった場合に、fstab が追跡できなくなるので見失ってしま
います。あるいは、不幸にして何らかの操作で、複数のパー
ティション名が重複したりすると、混乱を来します。
ですので、LABEL の方が手軽ではありますが、UUID を使っ
ておいた方が万が一の不幸な事態を未然に防止する事につな
がります。
UUID の確認方法はアプリケーション -> ユーティリティ
フォルダの中にあるコンソール (Console.app) を起動して、
system.log を開き、マウントされるパーティションに関す
るエントリを探します(再起動してすぐにこの操作をすれ
ば、すぐに見つかります。再起動からずいぶん時間が経過
していると、kawabe さんのご指摘のように system.log
がいくつかのファイルにどんどん分割されて、新しいエン
トリだけが常に最新の system.log ファイルに記録されま
すので、Console.app のツールバーにある「ログ」アイ
コンをクリックして、ウィンドウ左側にログの一覧を表示
させるペインを出して、その中の下の方にある "/var/log"
と言うところから "system.log.[n].gz" と言う風にロテー
ションされて gz アーカイブされたファイルがいくつか
溜まってきますので、これを順に開いて探っていきます。
Aug 10 02:00:37 localhost diskarbitrationd[91]: disk13 hfs D4FF8ABE-B7DF-3C74-BABD-18873F4A73D4 luna /
上記のようなエントリが見つかれば、その中にある "D4FF8ABE-
B7DF-3C74-BABD-18873F4A73D" の様な表示の部分が "luna"
と言う partition/volume に割り当てられている UUID と言う事
になります。
後は Terminal を起動して、前回の書き込みの手順で操作して頂
ければ、/etc/fstab に UUID で自動マウントさせたくないボリュ
ームを指定した内容で設定が完了します。設定が終わったら、再
起動すると、設定した内容が有効になります。
自動マウントしないようにできますか?