@echo off title %~nx0 ver | find "Version 6" >nul && set osver=vista if "%osver%"=="vista" ( if /i not "%cd%"=="%windir%\system32" GOTO UAC pushd %~dp0 ) REM check grubinst.exe if exist .\grubinst\grubinst.exe set grubinst=ok if exist grubinst.exe set grubinst=ok REM check grldr if exist .\grub4dos\grldr set grldr=.\grub4dos\grldr if exist grldr set grldr=grldr REM check menu.lst if exist .\grub4dos\menu.lst set menulst=.\grub4dos\menu.lst if exist menu.lst set menulst=menu.lst if "%grubinst%"=="" GOTO NOGRINST if "%grldr%"=="" GOTO NOGRLDR REM ##################################### REM ### START REM ##################################### echo: if "%menulst%"=="" echo ===== ! menu.lst がありません ! ===== echo: echo ************************************************************** echo * * echo * === GRUB for DOS 起動ディスク の作成します === * echo * * echo * ***** grubinst.exe, grldr が必要です ***** * echo * * echo * === Aドライブのフロッピーの準備はおk? === * echo * * echo ************************************************************** echo: echo フロッピーをAドライブにセットしてクダサイ echo: echo: echo 続行しますか? 中断は xボタン or Ctrl-C echo: echo *** 何かキーを押すと続行します *** pause >nul if exist .\grubinst\grubinst.exe set path=.\grubinst;%path% REM ##################################### REM ### FD check REM ##################################### if not exist a: GOTO nonfd set nakami=nasi dir /a /b A:\ >nul 2>nul && set nakami=ari if "%nakami%"=="nasi" GOTO WRITE echo: cls echo: echo -------------------------------------------------------------- echo フロッピーにファイルがあります。このフロッピーでほんまにおk? echo: echo ***** ファイルの削除やフォーマットはしませんけど... ***** echo -------------------------------------------------------------- echo: set /p select= [y,N] : echo: if /i "%select%"== "y" GOTO WRITE GOTO CANCEL REM ##################################### REM ### GRUB install REM ##################################### :WRITE cls echo: echo ************************************************************** echo GRUB ブートコードをフロッピーへ書き込みます echo " The MBR/BS has been successfully installed " echo と表示されたら成功です。Enter で grldr をコピーします echo ************************************************************** echo: echo *** 何かキーを押すと続行します *** echo: pause >nul grubinst --pause --floppy (fd0) if ERRORLEVEL 1 GOTO ERROR REM ##################################### REM ### file copy REM ##################################### echo: echo * grldr をコピーします... echo: if defined menulst copy /y "%grldr%" A:\ if ERRORLEVEL 1 GOTO ERROR if not exist A:\menu.lst GOTO nextcopy echo: echo -------------------------------------------------------------- echo フロッピーに menu.lst があります。上書きしていいのでせうか? echo -------------------------------------------------------------- set /p choice= [y,N] if /i "%choice%"=="y" GOTO nextcopy GOTO DONE :nextcopy echo: echo * menu.lst をコピーします... echo: if defined menulst ( copy /y "%menulst%" A:\ ) else ( echo !----- menu.lst はありません -----! ) GOTO DONE REM ##################################### REM ### ERROR REM ##################################### :NOGRINST echo: echo ============================================================== echo grubinst.exe がありませんです... echo ============================================================== GOTO NOGRLDR :NOGRLDR if defined grldr GOTO END echo: echo ============================================================== echo grldr がありませんです... echo ============================================================== GOTO END :NONFD echo: echo ! フロッピーがありません? ! GOTO END :ERROR echo: echo ** ! エラー出ますた ! ! ** GOTO END REM ##################################### REM ### UAC REM ##################################### :UAC echo: echo: echo: echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo: echo !「管理者として実行」してくださいマセ ! echo: echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo: GOTO END REM ##################################### REM ### DONE REM ##################################### :DONE echo: echo 正常に終了しますた... echo: if "%menulst%"=="" ( echo ...でも...menu.lst がありませんでした..... ) GOTO END :CANCEL echo: echo キャンセルしますた... GOTO END :END echo: echo *** 何かキーを押すと閉じます *** echo: pause >nul