電源をオンにできませんでした
Hyper-V仮想マシンで、CentOSの仮想環境を起動しようとしたら、起動できなくなっていました。
Synthetic SCSI Controller
電源をオンにできませんでした。エラー’アクセスが拒否されました‘。
アカウントには、アタッチメント ‘C:\Users\Public\Documents\Hyper-V\Virtual hard disks\CentOS-8.vhdx’ を開くためのアクセス許可がありません。
はて!? この前まで起動していたんだけどなんだろう?
解決させるのに2時間ほどハマってしまったので、忘れないようメモすることにしました。
どうやら、私の仮想ハードディスクを好き勝手に移動させている運用がまずかったようです。
私のノートパソコンは256GBしかないから、外付けUSBドライブを使ってやりくりしないと足りないのです(T_T)
原因
仮想マシンの仮想ディスクファイル(vhdxファイル)を移動
Cドライブの空き容量が少なくなってしまったので、一時的に使わない仮想マシンの仮想ディスクファイル(今回はCentOS-8)をUSBメモリに移動しました。
そして数日経ってからまたCentOS-8の仮想マシンを使いたくなったので、Cドライブに戻したところ、仮想ディスクファイルのアクセス権限(ACL)が消えてしまったため、Hyper-Vマネージャーから起動しようとしたところ、アクセス権限がなくなってしまい起動できなくなってしまった模様です。
なぜアクセス権限(ACL)が消えてしまったのか
まずかったのは、この仮想ディスクファイルを移動した先のUSBメモリのファイルシステムがNTFSではなく、exFATだったため、NTFSのACLが全部消えてしまいました。
あまり気にしたことがなかったのですが、仮想ディスクファイルにはよく分からない権限が付与されていました。USBにコピーした時にこの権限が落ちてしまい、元の場所に戻しても起動できなくなってしまったようです。
直し方
Hyper-Vマネージャーで該当の仮想マシンの設定画面を開いて、仮想ハードディスクの場所を移動先のUSBドライブに変更して、一度この状態で仮想マシンを起動します。
exFATなのでアクセス権限フリーであるため、仮想マシンが起動できました。
無事に起動を確認したら、仮想マシンをシャットダウンします。そして仮想ディスクファイルをCドライブの所定のフォルダに戻します。
戻し終わってアクセス権限を確認してみたのですが、あの謎の権限がついていません。やばい。
しかし、もう一度、仮想マシンの設定画面で仮想ハードディスクを設定し直します。
すると、おお、謎の権限が付与されました。何度か試したんですが、仮想ハードディスクの設定し直しをしないとこの権限が付与されないようです。
無事に起動しました。いや~焦った。
まとめ
やっぱり仮想ディスクファイルを手動で移動するのはあまり良くないですね。
ただ、毎回いちいちエクスポートしてインポートするの面倒なんですよね。
本来はそうするべきなのですが、解決策が分かったので、引き続き仮想ディスクファイルは手動で移動しまくる運用を継続します。大容量SSDドライブを買えば解決なんですが、なかなかね・・・
それではまた!
コメント