lxssフォルダを移動する正しい方法(未検証)

追記

一度でも仮想HDDのマウントに失敗するとBoUoWごと再インストールしないとダメで、自分のレベルだとうまくスクリプトを動作させられないので未検証ということで

 

lxssフォルダを移動したい!

├ 1.シンボリックリンク、ジャンクションを貼る


│    [まちがい]
│      エラー: 0x80070003で起動しなくなります。
│      それよりも別の手段を探してみませんか?
│      ちょっとした仮想HDDでなんとかなるかも?
│              ↑
│          ここがポイント!

└ 2.仮想HDDを使う

      [せいかい]

ちゃんと調べたらすぐ出てきた。

  1. まずはlxrun /uninstall /full /y でアンインストール
  2. lxssフォルダを作成/中身を空にする
  3. ディスクの管理→操作から仮想HDDを作成。このときVHDXフォーマットにする
  4. フォーマット→ボリュームの作成(このとき、ドライブレターを割り当てると失敗するっぽい)
  5. diskpartを立ち上げ
  6. select vdisk file="仮想HDDがある場所"
  7. attach
  8. list volume
  9. select volume (ボリューム番号)
  10. assign mount="C:\Users\ユーザ名\appdata\local\lxss"

 

(10.のパスは%localappdata%\lxssでも行ける気がする)

で、再起動するとアンマウントされるようなので起動時にマウントされるようにスクリプトをタスクスケジューラに登録する。

以下の内容を記述してscript.txtとして適当な場所に保存。

select vdisk file="F:\lxss.vhdx"
attach vdisk
select vol (仮想HDDのボリューム番号)
assign mount="C:\Users\ユーザ名\appdata\local\lxss"

そして以下の内容をしてmount.batとして適当な場所に保存。

diskpart /s script.txtのパス

あとはタスクスケジューラに登録。

仮想HDD – 自動マウントを参考に。

で、このままだとボリューム番号が変わったらまずい。

https://support.microsoft.com/ja-jp/help/937252/volume-numbers-in-the-volume-column-may-change-every-time-that-you-run-the-list-volume-command-in-the-diskpart.exe-utility-in-windows

ボリュームラベルを使えとのことらしい。

 

 

参考

github.com

detail.chiebukuro.yahoo.co.jp

(こういう質問者になりたい)

 おまけ

f:id:mogamin:20170403140137p:plain

まさか削られてるのかと思って英語にしてみたら

f:id:mogamin:20170403140230p:plain

しっかりのこっていた。かわいい