前天第一手拿到 Windows 8 作業系統,便即刻將我的筆記型電腦重裝為 Windows 8 RTM 版本,在重裝之前照慣例會先將原本硬碟做一次完整影像備份 (你可以用 Disk2vhd 或其他影像備份軟體),當重裝完成正在復原資料與設定時卻發現缺漏了一些檔案,所以就把原先備份的檔案叫出來,並掛載為一顆磁碟機,想說直接複製檔案出來即可,但悲劇就這樣發生,欲知詳情請繼續看下去…
首先,我先把原先的硬碟備份掛載成為 Windows 8 下的其中一個磁碟機 ( T: ),並試圖進入特定目錄,想複製檔案出來,但卻完全無法進入目錄 (如下圖示)
一般來說,當我們按下【繼續】按鈕之後,Windows 8 會自動將目前的使用者執行權限提升為【系統管理員】(也就是以 BUILTIN\Administrators 的權限繼續操作),不過這次當我按下【繼續】按鈕後竟然被直接告知【您已被拒絕,無權存取這個資料夾】,真是晴天霹靂!
備註: 我認為應該是兩台電腦之間的 SID 不一致,外加磁碟機是唯讀的,所以才無法存取資料夾!
接著我試著想修改這個資料夾的安全性設定,先變更目錄與檔案的擁有者,再變更目錄與檔案的權限,基本上應該是可以存取的,可惜我掛載的這個磁碟卻是【唯讀】的,因此完全無法修正權限,也代表著我無緣取得我的備份檔案的嗎?!當然不是,我其實可以多找一顆硬碟,將目前的備份檔還原回去,用那顆硬碟開機,然後把檔案複製出來,再複製到這台新的 Windows 8 裡。不過光想到這些麻煩的步驟就覺得做完後心情不會太好,因此勢必要找出更偷懶的作法!
還好我前陣子有花點時間研究過 Windows 8 的使用者帳戶控制(UAC),知道他跟 Windows 7 有很大的不同,所以後來我用該文章裡的變身技巧,先將自己變身為【系統管理員權限】使用檔案總管,方法如下:
- 透過【以系統管理員身分執行】開啟 命令提示字元 視窗
按下快速鍵 Win + X 再按下 A 即可開啟
- 執行以下指令,將現有檔案總管程序全部強迫關閉
taskkill /IM explorer.exe /F
- 再執行以下指令,將檔案總管重新啟動(此時會以以系統管理員身分啟動)
start explorer.exe
如此一來就能在各目錄間遊走無誤了!
最後補上我後來調整過的批次檔,這樣就不會在沒有【以系統管理員身分執行】的情況下執行程式!
@ECHO OFF
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
IF %ERRORLEVEL% EQU 0 (
TASKKILL /IM explorer.exe /F
START explorer
EXIT
) ELSE (
echo.
echo 請使用【以系統管理員身分執行】啟動此批次檔
echo.
PAUSE
EXIT /B 1
)
相關連結