▼
2017年8月25日 星期五
[重灌] 如何解決0xc0000428 錯誤訊息: 無法驗證此檔案的數位簽章
根據這篇文章https://neosmart.net/wiki/0xc0000428/的解釋,是檔案BOOTMGR(放在啟動分割區)出問題。
甚麼是啟動分割區(active partition)的概念?根據這篇文章第二篇回覆http://www.makeuseof.com/answers/what-is-an-active-partition/ 啟動分割區就是一顆硬碟上,被設為可開機且含作業系統的分割區,每顆硬碟都只能設定一個分割區(partition)作為啟動分割區或叫可開機分割區(bootable partition)。電腦從此分割區開機。
有時當使用者升級現存系統到更新版本的windows或安裝service pack時,BOOTMGR的內容沒有適當的更新,於是顯示以下畫面:
發生此錯誤的原因:
1. 系統升級後BOOTMGR過時了
2. 使用舊的啟動硬碟(boot disk)截入更新版的windows
有時使用者可能在一顆硬碟安裝更新版的windows,然後插入另一顆裝著更舊版本的windows的硬碟來設定雙系統開機模式,在這情況下,舊版的BOOTMGR會被使用,於是開機程序中止。
3. service pack更新後,BOOTMGR過時了
由於這項啟動錯誤經常是因為過期的BOOTMGR,將它換成正確的版本通常有效。也就是把更新版的作業系統的BOOTMGR複製到啟動分割區。
解決方法:買它的軟體或手動更新BOOTMGR
***重點來了,手動更新BOOTMGR必須有剛剛新安裝的作業系統的安裝光碟(或安裝usb),然後學習怎麼使用應用程式diskpart.exe(微軟開發內建的硬碟分割工具),要成功完成這項工作只要知道以下的diskpart命令:list是列出清單,select是選擇,disk是硬碟,partition是硬碟分割區,disk和partition全部都是以數字編號、選擇,detail是顯示詳細資訊就可以了。
首先要進入新安裝的作業系統安裝光碟的命令行修復模式(同場加映:如何用光碟開機),找出新安裝的作業系統所在分割區(partition)的label(就是平常說的C槽D槽,一個英文字母,或者叫「已掛載分割區英文代號」,但不知道為什麼diskpart命令detail partition裡面顯示的資訊是用Ltr, letter這個詞),因為命令行(同場加映:甚麼是命令行)修復模式下,似乎所有windows認得出來的分割區都會被自動掛載(包括平常進作業系統時會被隱藏的那100M系統保留區),且label都和平時正常進作業系統時不同,那100M的系統保留區在筆者桌機上變成C:,因此要用diskpart(很不方便)一個一個搜。
*如何分辨分割區:看label和size這兩項,如果大小都一樣或者分割區太多、混有ext系格式的分割區diskpart認不出來,就用平常的方式正常進作業系統把分割區的名稱改成容易辨認的,例如:win 7 ultimate x64 C、win 8.1 pro x64 C、Warehouse等等。
然後要找出啟動分割區(就是detail命令列出來的資訊中active(或使用中)那一欄是yes的分割區)的label,再下bcdboot X:\windows /s C: 命令,這個命令的作用是把更新版的作業系統安裝資料夾X:\Windows內的BOOTMGR複製到後面的啟動分割區C。
X:\Windows是我們的更新版的windows安裝資料夾,C:是我們的啟動分割區。此為舉例,請隨具體情況更改。
*這張圖是從網路隨便抓的範例圖,可以不用理volume
因為detail 命令只能一次顯示一個所選的硬碟/分割區資訊,遍歷一顆硬碟最簡單的方法是從0號分割區開始,不停的重複下列倒數最後兩條命令,直到搜到為止。筆者用從0號硬碟的0號分割區、0號硬碟的1號分割區......依序找到此硬碟最後一個分割區,再換1號硬碟0號分割區、1號硬碟1號分割區......以此類推的方式尋找。每搜到一個,就拿出紙筆,在便條上記下disk 0 partition(或簡寫為p) 1 F: Warehouse 等資訊,方便等等下命令。
*每次進去命令修復模式下disk和partition的編號都是固定的,因此記過一次就不用重記。寫好貼在機箱旁以後就不用重查,方便。
($後面加一個半形空格是linux系教學文的命令行寫法,用來表示半形空格後面接的是命令,因此$和半形空格不用打進去。)
列出所有實體硬碟
$ list disk
選擇硬碟0號
$ select disk 0
列出所有硬碟分割區
$ list partition
選擇分割區0
$ select partition 0
顯示選擇的分割區詳細資訊,檢查是否為啟動分割區,
$ detail partition
參考 https://superuser.com/questions/449717/finding-which-partition-on-a-particular-disk-is-active-from-the-command-line
甚麼是啟動分割區(active partition)的概念?根據這篇文章第二篇回覆http://www.makeuseof.com/answers/what-is-an-active-partition/ 啟動分割區就是一顆硬碟上,被設為可開機且含作業系統的分割區,每顆硬碟都只能設定一個分割區(partition)作為啟動分割區或叫可開機分割區(bootable partition)。電腦從此分割區開機。
有時當使用者升級現存系統到更新版本的windows或安裝service pack時,BOOTMGR的內容沒有適當的更新,於是顯示以下畫面:
發生此錯誤的原因:
1. 系統升級後BOOTMGR過時了
2. 使用舊的啟動硬碟(boot disk)截入更新版的windows
有時使用者可能在一顆硬碟安裝更新版的windows,然後插入另一顆裝著更舊版本的windows的硬碟來設定雙系統開機模式,在這情況下,舊版的BOOTMGR會被使用,於是開機程序中止。
3. service pack更新後,BOOTMGR過時了
由於這項啟動錯誤經常是因為過期的BOOTMGR,將它換成正確的版本通常有效。也就是把更新版的作業系統的BOOTMGR複製到啟動分割區。
解決方法:買它的軟體或手動更新BOOTMGR
***重點來了,手動更新BOOTMGR必須有剛剛新安裝的作業系統的安裝光碟(或安裝usb),然後學習怎麼使用應用程式diskpart.exe(微軟開發內建的硬碟分割工具),要成功完成這項工作只要知道以下的diskpart命令:list是列出清單,select是選擇,disk是硬碟,partition是硬碟分割區,disk和partition全部都是以數字編號、選擇,detail是顯示詳細資訊就可以了。
首先要進入新安裝的作業系統安裝光碟的命令行修復模式(同場加映:如何用光碟開機),找出新安裝的作業系統所在分割區(partition)的label(就是平常說的C槽D槽,一個英文字母,或者叫「已掛載分割區英文代號」,但不知道為什麼diskpart命令detail partition裡面顯示的資訊是用Ltr, letter這個詞),因為命令行(同場加映:甚麼是命令行)修復模式下,似乎所有windows認得出來的分割區都會被自動掛載(包括平常進作業系統時會被隱藏的那100M系統保留區),且label都和平時正常進作業系統時不同,那100M的系統保留區在筆者桌機上變成C:,因此要用diskpart(很不方便)一個一個搜。
*如何分辨分割區:看label和size這兩項,如果大小都一樣或者分割區太多、混有ext系格式的分割區diskpart認不出來,就用平常的方式正常進作業系統把分割區的名稱改成容易辨認的,例如:win 7 ultimate x64 C、win 8.1 pro x64 C、Warehouse等等。
然後要找出啟動分割區(就是detail命令列出來的資訊中active(或使用中)那一欄是yes的分割區)的label,再下bcdboot X:\windows /s C: 命令,這個命令的作用是把更新版的作業系統安裝資料夾X:\Windows內的BOOTMGR複製到後面的啟動分割區C。
X:\Windows是我們的更新版的windows安裝資料夾,C:是我們的啟動分割區。此為舉例,請隨具體情況更改。
*這張圖是從網路隨便抓的範例圖,可以不用理volume
因為detail 命令只能一次顯示一個所選的硬碟/分割區資訊,遍歷一顆硬碟最簡單的方法是從0號分割區開始,不停的重複下列倒數最後兩條命令,直到搜到為止。筆者用從0號硬碟的0號分割區、0號硬碟的1號分割區......依序找到此硬碟最後一個分割區,再換1號硬碟0號分割區、1號硬碟1號分割區......以此類推的方式尋找。每搜到一個,就拿出紙筆,在便條上記下disk 0 partition(或簡寫為p) 1 F: Warehouse 等資訊,方便等等下命令。
*每次進去命令修復模式下disk和partition的編號都是固定的,因此記過一次就不用重記。寫好貼在機箱旁以後就不用重查,方便。
列出所有實體硬碟
$ list disk
選擇硬碟0號
$ select disk 0
列出所有硬碟分割區
$ list partition
選擇分割區0
$ select partition 0
顯示選擇的分割區詳細資訊,檢查是否為啟動分割區,
$ detail partition
參考 https://superuser.com/questions/449717/finding-which-partition-on-a-particular-disk-is-active-from-the-command-line
[重灌] 解決安裝 Windows 7 自動產生 100MB 系統保留磁區 ( BitLocker 加密磁碟 )
[重灌] 解決安裝 Windows 7 自動產生 100MB 系統保留磁區 ( BitLocker 加密磁碟 )
MS 預設安裝 Windows Vista / 7 / Server 2008 的時候
都會保留 100MB 的空間,作為 BitLocker 加密磁碟用
關於BitLocker 磁碟機加密與加密檔案系統有何不同? 微軟官方說明如下
不過這樣一來,感覺有點浪費。
或是不爽 MS 老大的獨斷為系統保留 100MB 作法 (#╯ ̄□ ̄)╯~┴─┴
這邊提供三種方式來取消 100MB
一、使用第三方分割硬碟軟體,如 SPFDisk 先做好磁碟分割,再將光碟放入安裝
方法一 SPFDisk 教學 已經非常多,不熟悉也不要為了這 100MB 亂搞硬碟,以免資料遺失
方法二 這篇推薦使用將系統保留區 100MB "延伸"到下一個分割區的方式
0.先選擇"自訂(進階)"的安裝方式
1. 在新增分割時,Windows 會提示
"為確保所有Windows功能均能正確運作,Windows可能會為系統檔案建立其他的分割磁碟"
此時只能按下確定,等等再來將 100MB 刪除
2. Windows 很自動的產生了一個名為"系統保留"的 100MB 系統分割區
如果還想分割出其他空間,請先分割出來,下圖就已經先分割出一個 10GB 的D槽
接著將分割2刪除,也就是100MB的下一個分割區
3.選擇 100MB 的系統保留分割區,按下"延伸"
4.把剛剛刪除的分割區大小一起算進來,作為C槽,按下套用
5.按下確定
6.此時系統槽就合併成功了,繼續安裝 Windows 系統吧 ( ̄▽ ̄)/
方法三 可以在分割 new partition 時按下 Shift+F10,輸入 DISKPART 指令做分割,如圖
DISKPART > list disk
DISKPART > select disk=0
DISKPART > create partition primary size=10240
磁碟分割的大小以 MB 表示,更詳細指令可見 建立磁碟分割或邏輯磁碟
延伸閱讀:
NTLDR is missing press Ctrl+Alt+Del to restart
http://www.google.com.tw/search?q=ntldr+is+missing+win7&hl=zh-TW&lr=lang_zh-TW
http://technet.microsoft.com/zh-tw/library/ee706536%28WS.10%29.aspx
Windows 7 BitLocker 執行概觀
BitLocker 磁碟機加密的變更
Changes in BitLocker Drive Encryption
都會保留 100MB 的空間,作為 BitLocker 加密磁碟用
關於BitLocker 磁碟機加密與加密檔案系統有何不同? 微軟官方說明如下
BitLocker 磁碟機加密與加密檔案系統 (EFS) 之間有數種差異。BitLocker 是為了在您的電腦遭竊,或有未經授權的使用者嘗試存取電腦時,協助保護已安裝 Windows 之磁碟機 (作業系統磁碟機) 上的所有個人和系統檔案而設計的。您也可以使用 BitLocker 來加密固定式資料磁碟機 (例如,內部硬碟) 上的所有檔案,以及使用 BitLocker To Go 來加密卸除式磁碟機 (例如,外接式硬碟或 USB 隨身碟) 上的檔案。EFS 則是以每一使用者為基礎,用來協助保護任何磁碟機上的個別檔案。
不過這樣一來,感覺有點浪費。
或是不爽 MS 老大的獨斷為系統保留 100MB 作法 (#╯ ̄□ ̄)╯~┴─┴
這邊提供三種方式來取消 100MB
一、使用第三方分割硬碟軟體,如 SPFDisk 先做好磁碟分割,再將光碟放入安裝
二、在安裝畫面中,將系統保留區 100MB "延伸"到下一個分割區
三、在安裝畫面中,使用 Shift+F10 進入 Command line ,使用 DISKPART 指令分割方法一 SPFDisk 教學 已經非常多,不熟悉也不要為了這 100MB 亂搞硬碟,以免資料遺失
方法二 這篇推薦使用將系統保留區 100MB "延伸"到下一個分割區的方式
0.先選擇"自訂(進階)"的安裝方式
1. 在新增分割時,Windows 會提示
"為確保所有Windows功能均能正確運作,Windows可能會為系統檔案建立其他的分割磁碟"
此時只能按下確定,等等再來將 100MB 刪除
2. Windows 很自動的產生了一個名為"系統保留"的 100MB 系統分割區
如果還想分割出其他空間,請先分割出來,下圖就已經先分割出一個 10GB 的D槽
接著將分割2刪除,也就是100MB的下一個分割區
3.選擇 100MB 的系統保留分割區,按下"延伸"
4.把剛剛刪除的分割區大小一起算進來,作為C槽,按下套用
5.按下確定
6.此時系統槽就合併成功了,繼續安裝 Windows 系統吧 ( ̄▽ ̄)/
方法三 可以在分割 new partition 時按下 Shift+F10,輸入 DISKPART 指令做分割,如圖
DISKPART > list disk
DISKPART > select disk=0
DISKPART > create partition primary size=10240
磁碟分割的大小以 MB 表示,更詳細指令可見 建立磁碟分割或邏輯磁碟
延伸閱讀:
NTLDR is missing press Ctrl+Alt+Del to restart
http://www.google.com.tw/search?q=ntldr+is+missing+win7&hl=zh-TW&lr=lang_zh-TW
http://technet.microsoft.com/zh-tw/library/ee706536%28WS.10%29.aspx
Windows 7 BitLocker 執行概觀
BitLocker 磁碟機加密的變更
Changes in BitLocker Drive Encryption
Finding which partition on a particular disk is active from the command line
For example, if I'm booted from Windows PE, or remoting into a system using psexec or another command-line based method. I know that
diskpart.exe allows you to set the active partition, but I can't find any way of seeing which partition is currently active.
Hopefully there's a simple answer and I'm just missing it ...
| ||||
add a comment
|
Only way I know how to do this is close to what @Maximus put but do the following:
The output will indicate
You have to go through each volume to find which ones are Active and which ones are not. You can use Diskpart's
list volume command to show all volumes and find the one you want to check first. | ||||
You can use
wmic to do this. You may wish to export it to a text file (>output.txt ) and view without word wrapping since the tabular output can get very wide.
To list all partitions (look at the
BootPartition member to check if it's marked as active ):
To list just active partitions, filter with
where :
To filter which columns are displayed, use
get :
Also:
For more information on
partition members, see the Win32_DiskPartition documentation.
Take a look at the WQL syntax for more information on the usage of
where . Take a look at wmic partition get /? for more information on get .
With
wmic you have added advantages with remote management using the /node:<servername or ip> switch (see wmic /node /? for more information. As per Microsoft:
If you can figure out some way of programmatically (e.g. batch script) getting the drive letter from the disk and partition index, you may wish to use a
for loop with the members DiskIndex and Index (disk and partition indexes, respectively). | ||||
As a fans of Cygwin, I'll suggest use the fdisk utility from the util-linux package to do this if you're not using GPT.
If you're remoting into a system, you need to install Cygwin on that system.
If you're booting from Windows PE, you can manually download the packages and extract them using a proper decompressor which can handle .tar.bz2 files.
Packages needed to download to run fdisk
Example (1 hdd, 1 flash drive)
| |||
Look into last column (System)?
| |||
detail disk
(first column)? May be it is the answer? – Maximus Jul 16 '12 at 21:10