PDA

View Full Version : BCDEDIT အေၾကာင္းနွင့္ Windows 7 အား Virtual Disk ေပၚတြင္တင္၍ မိမိကြန္ျပဴတာမွ boo



herzcthu
12-26-2009, 05:56 PM
ဒီေနရာမွာ အေၾကာင္းအရာနွစ္ခုကို တစ္ျပိဳင္တည္းေျပာသြားပါမယ္။ ဆက္စပ္ေနတာမို႔ပါ။ ပထမ BCDEDIT အေၾကာင္းေျပာပါမယ္။ အမ်ားၾကီးေျပာမွာေတာ့ မဟုတ္ပါဘူး။ OS တစ္ခုအတြက္ BCD entry အသစ္တစ္ခုဘယ္လို ထည့္လဲဆိုတာ အဓိကထားေျပာသြားမွာပါ။
ပထမ windows 7 (or) Vista တင္ထားတဲ့ စက္ကို UAC ( User Account Control) ကိုပိတ္ပါ။ ျပီးရင္ Windows Logo + R ႏွိပ္ျပီး cmd လို႔နွိပ္ enter ေခါက္ပါ။ command prompt windows ေပၚလာပါမယ္။ အဲဒီမွာ bcdedit လို႔ရိုက္ျပီး enter ေခါက္လိုက္ရင္ ကိုယ္ကြန္ျပဴတာရဲ့ boot entry ကို အေသးစိတ္ျပပါလိမ့္မယ္။
Bcdedit ရဲ့ command ေတြကို အေသးစိတ္ သိခ်င္ရင္ေတာ့ bcdedit /? လို႔ရိုက္ပါ။ ေအာက္ကပံုအတိုင္းအေသးစိတ္ေဖာ္ျပပါလိမ့္မယ္။
http://www.myanmarengineer.org/forum/index.php?action=dlattach;topic=6241.0;attach=2602
http://www.myanmarengineer.org/forum/index.php?action=dlattach;topic=6241.0;attach=2604

OS entry တစ္ခုကို ထပ္ထည့္လို႔ရတဲ့နည္းကေတာ့ ပထမ BCD identifier ကိုယူပါ။ ဘယ္လိုယူရမလဲဆိုေတာ့ cmd မွာ bcdedit /copy {currtent} /d “ဒီေနရာမွာ ကိုယ္တင္ခ်င္တဲ့ windows နာမည္ျဖစ္ျဖစ္ ကိုယ္ၾကိဳက္ရာနာမည္ျဖစ္ျဖစ္ရိုက္ပါ။”
Quotation mark လို႔ေခၚတဲ့ “” ကိုမေမ့ပါနဲ႔ အဲဒီထဲမွာ ကိုယ္တင္တဲ့ windows အတြက္နာမည္တစ္ခုေပးလိုက္ပါ။
ပံုကိုၾကည့္ပါ။ ပထမဆံုးစာေၾကာင္းက id ယူတဲ့ပံုပါ။
http://www.myanmarengineer.org/forum/index.php?action=dlattach;topic=6241.0;attach=2606

ဒုတိယက ဘယ္ Hard disk ဆိုတာကိုသတ္မွတ္ေပးဖို႔ပါ။ အဲဒီအတြက္ဆိုရင္
bcdedit /set {ဒီထဲမွာ အေပၚက ကူးယူထားတဲ့ identifier number ကို မွန္ေအာင္ထည့္ရပါမယ္} device partition=C: (ဒီေနရာမွာ ကိုယ္ Windows တင္ထားတဲ့ partition ရဲ့ Drive letter ကိုရိုက္ရပါမယ္။ virtual hard disk ေပၚမွာတင္ထားတာဆိုရင္ေတာ့ partition=C: ေနရာမွာ vhd= ဆိုျပီး virtual hard disk ဖိုင္ရွိတဲ့ ေနရာကို အတိအက်ရိုက္ေပးရပါမယ္။ ျပီေတာ့ drive letter ကို ေထာင့္ ကြင္းထဲမွာထည့္ေရးရပါမယ္။) အေပၚက ပံုကို ၾကည့္ပါ။ သူက virtual hard disk ေပၚမွာတင္ထားျပီး virtual hard disk ဖိုင္က C:\win7\win7.vhd မွာရွိပါတယ္။ partition C ေပၚက win7 folder ထဲမွာ win7.vhd နာမည္နဲ႔ ရွိပါတယ္။ ဒါကို ရိုက္ေတာ့ vhd=[C:]\win7\win7.vhd ဆိုျပီးရိုက္ပါတယ္။
အျပည့္အစံုေျပာရရင္ေတာ့
Bcdedit /set {12345678-1234-1234-1234-123456789ab} device vhd=[C:]\win7\win7.vhd ျဖစ္ပါတယ္။ { } ထဲမွာရိုက္ထားတာက အေပၚက bcdedit /copy လုပ္ျပီးရထားတဲ့ ID ကိုရိုက္ရတာပါ။
တတိယက OS တင္ထားတဲ့ေနရာကိုေျပာတာပါ။ အေပၚက command နဲ႔ ဘာမွမကြာပါဘူး device ေနရာမွာ osdevice လို႔ျပင္ရိုက္လိုက္ယံုပါပဲ။ အျပည့္အစံုကေတာ့ Bcdedit /set {12345678-1234-1234-1234-123456789ab} osdevice vhd=[C:]\win7\win7.vhd ပါ။
ေနာက္ဆံုးကေတာ့ hardware abstruction layer ကို dectect လုပ္ဖို႔ ေျပာတာပါ။
Bcdedit /set {12345678-1234-1234-1234-123456789ab} dectecthal on ျဖစ္ပါတယ္။
အဲဒီေတာ့ အခုေျပာခဲ့တဲ့အတိုင္းလုပ္မယ္ဆိုရင္ bcd entry အသစ္တစ္ခုထည့္လို႔ရမွာျဖစ္ပါတယ္။
Virtual hard disk မွာ တင္ထားတဲ့ Windows 7 ကိုလည္းboot entry မွာဒီနည္းနဲ႔ထည့္ေပးလိုက္မယ္ဆိုရင္ virtual hard disk ေပၚက Windows 7 ကို Boot လုပ္လို႔ရသြားမွာပါ။

ဒါကေတာ့ ေနာက္ဆံုးထြက္တဲ့ output ပံုပါ။
http://www.myanmarengineer.org/forum/index.php?action=dlattach;topic=6241.0;attach=2609

ေက်းဇူးတင္စြာျဖင့္

herzcthu.

yeakharr
01-27-2010, 01:10 PM
good post
bcdedit is advanced feature.
so later i will also try to write GUI to Console for BCDEDIT
thz for your post

sanda87
03-08-2011, 06:54 PM
အစ္ကုိ User Account Control ကုိဘယ္လိုပိတ္ရမလဲ

yeakharr
03-11-2011, 08:07 PM
plz click START button in task bar
user အုိင္ကြန္ကို click ပါ။ သုိ႔မဟုတ္ control panel--> users accounts
အဲဒီမွာ user account control on or off ကို လုပ္ႏုိင္ပါတယ္။ vista ဆုိရင္ check box ကို ျဖဳတ္လုိက္ရင္ ျပီးတယ္

win7 ဆုိရင္ slider ဘားကို ေအာက္ဆုံးထိ ဆြဲခ် never remind ဆုိတာကို ေရာက္ဆြဲပါ။ ဒါဆုိ off တာပါပဲ၊