Eee PC 901-XのCドライブの使用量を削減する方法

さらっとまとめます。実際に操作するところのSSとかあれば最高なんだろうけど、そこまでは用意できなかった。まあ、ヒマがあったら考えるか。

作戦概要

ジャンクション、とよばれるNTFSの機能を使って、一見Cドライブ上のフォルダに見えるけど、実体はDドライブ上のフォルダにあるんだよ、という状態にする。リパース・ポイントとも呼ばれるらしい。ハードリンクとも。Windows Vistaのシンボリック・リンクはもっとお便利になったもの。
ジャンクション機能を使ってフォルダをマウントする − @IT
Windows用語集 - リパース・ポイント:ITpro
wikipedia:ハードリンク
Windows Vista/Windows Server 2008でシンボリック・リンクを作成する − @IT
念のため書いておくと、ショートカットとは別もの。

ターゲットは以下のフォルダ

  1. C:\Documents and Settings\Administrator(23.5MB)
  2. C:\Documents and Settings\(406MB)
  3. C:\Program Files\Java(157MB)

C:\Program Files下、C:\Documents and Settings下をごっそり!という作戦もあるとは思うけど、テスト機でやってうまくいかない事があった(Windows Updateが走ったりするとおかしくなるっぽい)ので、安全策をとる。問題はきっと不可視属性のフォルダで、これをきちんと処理できるなら、どーぞYour own riskで。
テスト機でネットワークに接続していない状態でOSを入れて、真っ先にやればごそっと方式でもうまくいった。少なくとも、IEは普通に動いたしWindows Updateも成功した。但し、Windows XP HomeのCDだけを使ったピュアな状態が前提になる。EeePCのリカバリディスクとは、たぶん状況が異なる。調べるには、やってみるしかない。

準備1〜linkd.exeを入手する

普通の状態では目的とする操作(ジャンクションを作成する)ができないので、できるツールを入手する。Windows Server 2003 Resource Kit Toolsに含まれているので、これをDL、導入。Windows XP Homeでも特に問題なく導入できました。導入先はD:\Program Filesにしておくのが吉。アーカイバつかってlinkd.exeだけを抽出する方法もあるけど、セットアップ動かしてしまえばすんなり入るし、導入後のディレクトリを見ても18MB程度の容量で納まっているので、まあそれでいいかなと。
@IT:Windows TIPS -- Hints:Windows OS向けリソースキット・ツールを入手する
Download Windows Server 2003 Resource Kit Tools from Official Microsoft Download Center

ああ、そうそう。インストールしちゃう事のメリットは、実行ファイルのある場所までパスを通しておいてくれるので、あとでlinkdコマンド叩いた時に楽ってのもある。パスごとき自分で通すわボケ!という人は御随意に。

準備2〜バックアp(ry

実行手順

  • EeePCを起動させて、F8キーを押してセーフモードとコマンドプロンプトを選んでWindowsを起動。
  • Administratorでログイン。
  • XCOPYでターゲットにしたディレクトリをDにコピー。但しログインしているユーザのユーザディレクトリ以外。この場合はAdministratorなのでC:\Documents and Settings\Administratorは対象外。後でやる。
XCOPY "C:\Documents and Settings\" "D:\Documents and Settings\" /S /E /H
XCOPY "C:\Program Files\Java" "D:\Program Files\Java" /S /E /H /K

このときは使わなかったけど、/Kスイッチをつけないとマズイかもという指摘があったので追加しました。

  • RMDIRでターゲットにしたディレクトリをC上から削除。ちょー危険な操作なので、まあ覚悟して! Your own risk!!!
RMDIR "C:\Documents and Settings\" /S
RMDIR "C:\Program Files\Java" /S
  • ここでさっきまでCにあったディレクトリをDへのジャンクションとして作り直す。
LINKD "C:\Documents and Settings\" "D:\Documents and Settings\"
LINKD "C:\Program Files\Java" "D:\Program Files\Java"
  • ここで一旦ログアウト。で改めてログイン。AdministratorのDocuments and Settingsについて上と同じ操作を繰り返す。
XCOPY "C:\Documents and Settings\Administrator" "D:\Documents and Settings\Administrator" /S /E /H /K
RMDIR "C:\Documents and Settings\Administrator" /S
LINKD "C:\Documents and Settings\Administrator" "D:\Documents and Settings\Administrator"
  • あとはシャットダウン。もう一度セーフモードで起動(コマンドプロンプトじゃないので)してAdministratorでログイン。操作が普通にできればAdministratorの方は成功。
  • でログイン。操作が普通にできる事を確認。Javaの部品(アプレット)が貼ってあるWebサイトを覗いたりしてJavaに問題がない事を確認。証券会社の多機能チャートとかが使えればいいかと。

ちょい追記。Documents and Settingsの下でAll Usersもかなり場所を食っている。これもやってみたけど、特に不具合はないっぽい。あと大きめなのはProgram Files下のCommon Filesか。これも後でトライしてみよう。