Windows 10 1709 スタート画面レイアウトのバックアップと復元
最終更新日
- 2019/04/09
- BackupStart.batの内容を修正。(レジストリのエクスポートに失敗することがあったため、reg exportの順番を最後に変更しました)
スタート画面のピン止めの配置を記録しておきたい。
タイルをずらしたり外してしまって、元に戻せなくなった時のために。
ネットで検索すると、PowerShellコマンド(Export-StartLayoutやImport-StartLayout)を使う方法が出てきます。でも、その方法ではどうしても穴だらけになるんですよね……。
次のURLに書かれている方法に、手を加えてみたら成功しました。
https://www.tenforums.com/tutorials/3088-backup-restore-start-layout-windows-10-a.html
注意事項
- Windows ユーザーアカウントごとにバックアップ/復元する必要があります。
- フォルダーオプションにて、拡張子を表示するように設定しておいてください。
- 復元後は、保存していおいたスクリーンショットと見比べて、抜けがないかチェックしてください。
- Windows 10をアップグレードやクリーンインストールした場合、旧環境のバックアップを使用した復元はしないでください。
スタート画面レイアウトのバックアップ
-
次のレジストリキーをエクスポートする。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\CloudStore\Store\Cache\DefaultAccount
-
次のファイルをバックアップする。
C:\Users\%username%\AppData\Local\Microsoft\Windows\Shell\DefaultLayouts.xml
-
次のフォルダーをバックアップする。
C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\
- スタート画面のスクリーンショットを保存
スタート画面レイアウトの復元
-
次のレジストリキーを削除する。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\CloudStore\Store\Cache\DefaultAccount
-
バックアップ手順1でエクスポートしておいた、regファイルを実行する。
(バックアップ時のHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\CloudStore\Store\Cache\DefaultAccountキーがインポートされる)
- バックアップ手順2でバックアップしておいたDefaultLayouts.xmlファイルを、C:\Users\%username%\AppData\Local\Microsoft\Windows\Shellフォルダー内に上書きコピーする。
- バックアップ手順3でバックアップしておいたProgramsフォルダーを、C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menuフォルダー内に上書きコピーする。
- サインアウト→サインイン
あるいは、PCを再起動
スタート画面レイアウトのバックアップと復元を、バッチファイルで実行
Windows 10 1709で動作確認済。
(スクリーンショットは手作業で保存してください)
バッチファイルの作り方
- バックアップ先として、フォルダーを1コ作成。
-
その中にテキストファイルを2つ作成。(バックアップ用と復元用)
ファイル名はここでは、
BackupStart.bat
RestoreStart_DropFolderHere.bat
とする。
各バッチファイルの内容 (グレーの部分をコピーして貼り付け、上書き保存)
BackupStart.bat
@echo off
echo.
set /p ANS="スタート画面レイアウトのバックアップを開始します。よろしいですか? (Y/N)"
if "%ANS%"=="y" goto CONT
if "%ANS%"=="yes" goto CONT
exit
:CONT
set PF=%~dp0
cd /d %PF%
set D=%DATE%
set T=%TIME%
if "%T:~0,5"==" 0:00" set D=%DATE%
set T=%T:~0,8%
set T=%T: =0%
set TS=%DATE:/=%_%T::=%
set BF="BK_Start_%USERNAME%"
set BF2=%BF%_%TS%
md %BF2%
xcopy "%LocalAppData%\Microsoft\Windows\Shell\DefaultLayouts.xml" %BF2%\
xcopy /e "%AppData%\Microsoft\Windows\Start Menu\Programs" %BF2%\Programs\
reg export HKCU\Software\Microsoft\Windows\CurrentVersion\CloudStore\Store\Cache\DefaultAccount %BF2%\DefaultAccount.reg
echo.
echo.
echo スタート画面レイアウトのバックアップ作業が終わりました。
echo.
echo コマンドプロンプト画面を閉じます。
echo.
echo.
pause
exit
バックアップフォルダー名は、「BK_Start_Windowsユーザーアカウント名_年月日_時刻」です。変更したい場合は、BK_Start_%USERNAME%の部分だけを変更してください。
フォルダー名に現在の日時を入れる記述は、次のサイトを参照させていただきました。
Windowsのバッチファイル中で日付をファイル名に使用する:Tech TIPS - @IT
https://www.atmarkit.co.jp/ait/articles/0405/01/news002.html
RestoreStart_DropFolderHere.bat
@echo off
echo.
SET /p ANS="スタート画面レイアウトの復元を開始します。よろしいですか? (Y/N)"
if "%ANS%"=="y" goto CONT
if "%ANS%"=="yes" goto CONT
exit
:CONT
set PF=%1
set REG=DefaultAccount.reg
set XML=DefaultLayouts.xml
set PROG=Programs
set LIST=%PF%\%REG% %PF%\%XML% %PF%\%PROG%
set ER=FALSE
for %%I in (%LIST%) do (
if not exist %%I (
echo %%I が見つかりません。
set ER=TRUE
)
)
if %ER%==TRUE (
goto QUIT
) else (
goto RESTORE
)
:QUIT
echo.
echo.
echo バックアップフォルダーの中身を確かめてください。
echo 処理を中止します。
echo.
echo コマンドプロンプト画面を閉じます。
echo.
echo.
pause
goto EOF
:RESTORE
reg delete HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\CloudStore\Store\Cache\DefaultAccount /f
reg import %PF%\%REG%
xcopy /y %PF%\%XML% "%LocalAppData%\Microsoft\Windows\Shell\"
xcopy /y /e /d %PF%\%PROG% "%AppData%\Microsoft\Windows\Start Menu\Programs\"
echo.
echo.
echo スタート画面レイアウトの復元処理が終わりました。
echo サインアウト→サインイン、またはPCを再起動してください。
echo.
echo コマンドプロンプト画面を閉じます。
echo.
echo.
pause
exit
set LIST= から goto EOFまでの部分は、バックアップに必要なファイル・フォルダーが揃っているかをチェックしています。不足している場合は復元作業をしません。
上記バッチファイルの使い方
BackupStart.bat
ダブルクリックで実行します。
「スタート画面レイアウトのバックアップを開始します。よろしいですか? (Y/N)」と表示されたら、y または yes と入力し、Enterを押します。
(BackupStart.batと同じ場所にバックアップフォルダーが作成されます)
DefaultAccount.regが作成されないことが度々ありました。このようにバックアップに失敗したものは削除し、もう一度バックアップを行ってください。
バックアップに成功していれば次のフォルダー・ファイルが作成されているはずです。
- Programsフォルダー
- Programs_ProgramDataフォルダー
- DefaultAccount.reg
- DefaultLayouts.xml
RestoreStart_DropFolderHere.bat
BackupStart.batで作成したバックアップフォルダーを、RestoreStart_DropFolderHere.batにドラッグ アンド ドロップします。
「スタート画面レイアウトの復元を開始します。よろしいですか? (Y/N)」と表示されたら、y または yes と入力し、Enterを押します。
- 関連記事
-
- Windows タスクスケジューラ タスクの変更でアクセス許可が無いと言われたら
- Windows コマンドプロンプトの選択管理者って何?
- Windows 10 1709 スタート画面レイアウトのバックアップと復元
- Windows クイックフォーマットとフルフォーマットの違い
- DOS起動ディスクの作成方法 ― USBメモリ編