有些Windows系統設定為,出問題時自動重開機,這樣系統有問題時就看不到經典的藍底白字畫面,只是不斷重開機無法看到錯誤訊息增加修復的困難。
要修改的registry位於 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl
AutoReboot 的 DWORD值設為0,就不會在系統CRASH時自動重開機。
我常用的離線修改registry方式有兩種
一使用Winpe XPE等Windows環境開機光碟
開機後與一般WINDOWS一樣執行regedit,程式啟動後在 HKEY_LOCAL_MACHINE 上按滑鼠右鍵選 載入HIVE 控制檔,選擇 Windows\System32\Config\system,掛載名稱自行設定。
掛載好以後就可以從掛載名稱向下找到相關鍵值做修改。( ControlSet001 002 003 等最好一起修改 )
二使用GNU/Linux救援光碟
執行#ntpasswd -w
Select: [1] ------->選擇WINDOWS所在PARTION
[WINDOWS/system32/config] : ------->選擇WINDOWS所在目錄
[1] : --------------------> Password reset [sam system security]
What to do? [1] -> 9 ------------------->選9 Registry editor
>hive 1 ------------------>切換到 SYSTEM 這個HIVE
>cd ControlSet001\Control\CrashControl -------->切換到相關目錄,因為區分大小寫,可搭配 ls 一層一層切換
>ed AutoReboot ------------------> 修改 AutoReboot
->0x0 -----------------> DWORD值為 0x0
>q ---------------->離開
What to do ? [1] -> q ---------------->離開
About to write file(s) back! Do it? [n/y] : y -------------->儲存修改後的資料
Run it again? [n/y] : n ---------------------------->不重新執行
如果有 ControlSet002 等請一併修改
這個部落格僅作為個人工作上遇到的問題和解決方案紀錄,相關步驟未經完整驗證,不一定適用於您所遭遇的狀況,系統如有問題建議您諮詢專業人士,不要自行操作不熟悉的指令或動作,以免造成更嚴重的損害。文中所提各軟體屬各軟體所有權人所有,軟體之異常情形大多為本人操作錯誤所造成,並非軟體原始設計之問題,且大多數問題都在軟體版本更新後獲得解決,本人因所知有限未能即時更新相關資訊,謹此致歉。
星期四, 8月 26, 2010
星期五, 8月 20, 2010
星期五, 8月 06, 2010
我的UBUNTU意外毀損救援紀實
以前就知道經常使用的tar指令在操作的時候會自動將目錄開頭的斜線( / )拿掉,雖然知道這個功能的用意是避免解壓縮時蓋掉重要的系統檔,但是從來不覺得這個功能很重要。
直到上週用cpio解一個initrd.img,解開後發現ls指令不能用,重開機開不起來大略看了一下開機錯誤訊息,意識到這已經不是我原來的系統了。
這時候我已經知道是解那個initrd.img時蓋掉了原來的系統,可是我非常確定我是建了一個子目錄在目錄中解壓縮的,這時想起tar的貼心其實也多少造成了管理者的大意,總而言之就是cpio沒有這個貼心的功能。
後悔已經來不及了,只好拿出救援光碟開機。
第一步:
cat initrd.img|cpio -t 先看看這個檔大致有那些內容
評估受影響的有 /lib /usr/lib /bin /sbin /etc
可能不受影響的有 /dev /proc /tmp /sys
第二步:
從備份的/etc目錄複蓋回來
第三步:
從其它電腦複製 /lib /usr/lib /bin /sbin
第四步:
重開機,還是有一些類似的錯誤訊息無法啟動,可能/etc內還是有屬於外來的啟動程式
第五步:
完整刪除/etc,重新還原/etc,重新開機可進入單人模式,部份指令不能執行
第六步:
find /lib|xargs dpkg -S|grep "not found" 找出不屬於任何套件的檔案後,人工判斷後手動刪除
find /usr/lib|xargs dpkg -S|grep "not found" 同樣對/usr/lib/做一次
第七步:
重開機,單人模式正常,無法登入圖形界面,錯誤訊息
/usr/lib/libgconf2-4/gconf-sanity-check-2 和這個檔案有關
網路搜尋和家目錄的權限有關,檢查後沒發現問題
第八步:
處理到這段遇到瓶頸,做了很多事都完全沒有效果,其中包含
dpkg-reconfigure --all 重設所有套件
for pkg in packagelist; do aptitude reinstall $pkg; done; 重新安裝所有已安裝的套件
packagelist是我已安裝的套件列表,我用的simple backaup軟體會自動產生
這個動作花了八小時才完成,可是同樣一點用也沒有
第九步:
重新檢查一次initrd.img,終於有驚人的發現 "它的/tmp目錄權限是774",
比較自已系統的/tmp目錄,果然也被改掉了,原來以為不會被響影的目錄,其實也是最容易修復的目錄,
因為思慮不週竟然花了最多的時間。
第十步:
將/tmp目錄重設為777,重開機,系統完全回復正常。
檢討:
一、目前的備份是否足夠(/etc /home /var中有用到的目錄)﹖應該夠,至少能將系統還原至可用狀態,全備份實在太花時間和空間。
二、操作cpio和其它解縮軟體時一定要小心,一定要用t選項先列出壓縮檔中的目錄。
三、tmp目錄造成X Windows不能登入,以前好像遇過也是花了很多時間才找到,竟然又發生一次。
四、目前用的系統從6.04一直升上來的到現在已經超過4年了,這次發生的意外是目前遇到影響範圍最大的一次意外,雖然沒有重灌但是有的目錄機乎已經是重建一樣,雖然用起來和原來的系統一樣,可是心裡有一點疑惑 "究竟這還是不是原來的系統"
直到上週用cpio解一個initrd.img,解開後發現ls指令不能用,重開機開不起來大略看了一下開機錯誤訊息,意識到這已經不是我原來的系統了。
這時候我已經知道是解那個initrd.img時蓋掉了原來的系統,可是我非常確定我是建了一個子目錄在目錄中解壓縮的,這時想起tar的貼心其實也多少造成了管理者的大意,總而言之就是cpio沒有這個貼心的功能。
後悔已經來不及了,只好拿出救援光碟開機。
第一步:
cat initrd.img|cpio -t 先看看這個檔大致有那些內容
評估受影響的有 /lib /usr/lib /bin /sbin /etc
可能不受影響的有 /dev /proc /tmp /sys
第二步:
從備份的/etc目錄複蓋回來
第三步:
從其它電腦複製 /lib /usr/lib /bin /sbin
第四步:
重開機,還是有一些類似的錯誤訊息無法啟動,可能/etc內還是有屬於外來的啟動程式
第五步:
完整刪除/etc,重新還原/etc,重新開機可進入單人模式,部份指令不能執行
第六步:
find /lib|xargs dpkg -S|grep "not found" 找出不屬於任何套件的檔案後,人工判斷後手動刪除
find /usr/lib|xargs dpkg -S|grep "not found" 同樣對/usr/lib/做一次
第七步:
重開機,單人模式正常,無法登入圖形界面,錯誤訊息
/usr/lib/libgconf2-4/gconf-sanity-check-2 和這個檔案有關
網路搜尋和家目錄的權限有關,檢查後沒發現問題
第八步:
處理到這段遇到瓶頸,做了很多事都完全沒有效果,其中包含
dpkg-reconfigure --all 重設所有套件
for pkg in packagelist; do aptitude reinstall $pkg; done; 重新安裝所有已安裝的套件
packagelist是我已安裝的套件列表,我用的simple backaup軟體會自動產生
這個動作花了八小時才完成,可是同樣一點用也沒有
第九步:
重新檢查一次initrd.img,終於有驚人的發現 "它的/tmp目錄權限是774",
比較自已系統的/tmp目錄,果然也被改掉了,原來以為不會被響影的目錄,其實也是最容易修復的目錄,
因為思慮不週竟然花了最多的時間。
第十步:
將/tmp目錄重設為777,重開機,系統完全回復正常。
檢討:
一、目前的備份是否足夠(/etc /home /var中有用到的目錄)﹖應該夠,至少能將系統還原至可用狀態,全備份實在太花時間和空間。
二、操作cpio和其它解縮軟體時一定要小心,一定要用t選項先列出壓縮檔中的目錄。
三、tmp目錄造成X Windows不能登入,以前好像遇過也是花了很多時間才找到,竟然又發生一次。
四、目前用的系統從6.04一直升上來的到現在已經超過4年了,這次發生的意外是目前遇到影響範圍最大的一次意外,雖然沒有重灌但是有的目錄機乎已經是重建一樣,雖然用起來和原來的系統一樣,可是心裡有一點疑惑 "究竟這還是不是原來的系統"
星期四, 8月 05, 2010
變更UBUNTU自動更新設定
安裝UBUNTU時有三種自動更新的選項
自動更新的預設值
APT::Periodic::Enable "1";
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "5";
APT::Periodic::Unattended-Upgrade "1";
- 不自動更新 (No automatic updates)
- 自動安裝安全更新 (Install security updates automatically)
- 使用 Landscape 管理系統 (Manage system with Landscape)
自動更新的預設值
APT::Periodic::Enable "1";
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "5";
APT::Periodic::Unattended-Upgrade "1";
不自動更新的預設值
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "1";
/etc/apt/apt.conf.d/ 這個目錄下還有其它檔案可供設定,例如:不要自動更新的套件
星期一, 6月 07, 2010
星期五, 5月 14, 2010
升級Dataface到1.2.4
今天升級Dataface到1.2.4版,出乎意料的順利
解壓縮後將寫入權限設給 Dataface/templates_c/ 目錄
就一切正常,繁體中文的語系也不用自己新增,
看來使用Dataface的人也慢慢多了。
http://xataface.com/admin.php?-action=home
解壓縮後將寫入權限設給 Dataface/templates_c/ 目錄
就一切正常,繁體中文的語系也不用自己新增,
看來使用Dataface的人也慢慢多了。
http://xataface.com/admin.php?-action=home
星期二, 3月 09, 2010
在Ubuntu karmic(9.10) 下安裝OCS Inventory NG 中文支援
OCS Inventory NG是一套開放原始碼的電腦資產管理軟體,試用後覺得有以下特色
- 免費.
- 跨平台支援MS Windows系列及Unix Like系統等作業系統.
- 使用代理程式搜集電腦資訊(不需AD網域).
- 內建軟體派送功能(需將代理程式安裝為服務模式).
- 可自訂標籤(財產號、使用者姓名等).
- 可自訂要搜集的Windows登錄檔資訊.
- 清單顯示可自訂欄位.
- 可將查尋到的資料設定為動態或靜態群組.
- sudo -s -H (進入root)
- aptitude install ocsinventory-reports ocsinventory-server (先安裝內建版本,遇到建立資料庫時先跳過)
- 到 ftp://linvinus.ru/ocs/ 下載支援utf-8的deb套件並安裝. (client 程式必須同時改用utf-8版本,否則無法更新資訊,apache errlog 會有 Couldn't open encmap utf8.enc 錯誤)
- 使用瀏覽器瀏覽 http://ocs.server.name/ocsreports/ 進行系統設定.
- Configuration/Config/Deployment/Downloay (預設為關閉,如要派送軟體需打開)
- 確認Configuration/Config/Interface 的 DOWNLOAD_PACK_DIR 和 IPDISCOVER_IPD_DIR 的路徑,可能分別多key了 download 和 ipd
- aptitude install ssl-cert (安裝憑證建立工具)
- make-ssl-cert generate-default-snakeoil --force-overwrite ( 建立憑證,為了安全性因素,系統限制軟體派送伺服器一定要使用ssl)
- cd /etc/apache2/mod-enabled
- ln -s ../mod-avaiable/perl.load .
- ln -s ../mod-avaiable/ssl.conf .
- ln -s ../mod-avaiable/ssl.load .
- cd /etc/apache2/sites-enabled
- ln -s ../sites-available/default-ssl .
- /etc/init.d/apache2 restart (重新啟動apache載入perl及ssl模組)
- 到 ftp://linvinus.ru/ocs/ 下載並安裝支援 utf-8 的 windows-agent (1.3版測試時,輸入伺服器網址時,一定要使用名稱不可用ip,否則無法更新資料)
- 複製伺服器上 /etc/ssl/certs/ssl-cert-snakeoil.pem 到 pc 的 agent 安裝目錄,並將檔案名稱改為 cacert.pem
- 在 pc 的 agent 安裝目錄執行 OCSInventory.exe /server:ocs.server.name /debug 進行測試
訂閱:
文章 (Atom)