請選擇 進入手機版 | 繼續訪問電腦版

NoName Team 電腦資訊討論區

 找回密碼
 我要註冊
搜索
查看: 467|回復: 6

[問題] 查詢硬碟裡面OS的版本

[複製鏈接]
發表於 2021-7-15 22:11:25 | 顯示全部樓層 |閱讀模式
本帖最後由 aru1124 於 2021-7-21 23:15 編輯

各位版友好 :

想請問一下, 在WinPE 開機後 ,如何查詢 硬碟裡面 OS的版本..?
或者 , 把 A電腦的硬碟 ,拆下後, 接在B電腦 ; 如何利用B電腦查詢 A電腦硬碟的 OS版本.?
1. 在PE底下的 本機 , 管理 , 磁碟管理, 裡面可以查詢硬碟 是 MBR 或 GPT 格式。
2. 用檔案總管 ,如果有看到  C:\Program Files (x86) , 那就是 64位元的系統。
想知道硬碟裡面 是  XP , win7 , win8 , win10 , Server ... 是何種 OS系統。
謝謝大家。

PS: 有網友提供一個資訊 : C:\Users\帳號資料夾內有 3D Objects資料夾,一定是Win10以上。

發表於 2021-7-17 06:15:46 | 顯示全部樓層
本帖最後由 阿達金田一 於 2021-7-17 06:37 編輯
aru1124 發表於 2021-7-16 22:44
非常感謝,這麼專業的回答 , 我會問這個問題,主要是 , 客戶有時候電腦已經開不了機 ; 這時候, 我是要用 那一 ...

原則可以上用 win10 去修 win7
但...
主要看你是用什麼工具
還有是什麼原因出問題

你說的那些 bootice bcdboot 指令我個人是都沒在用
( bcdboot 是有用過啦 )
都用 bootice 就可以搞定

以下一部份僅推測
bootrec /fixmbr
bootrec /fixboot
一般只主要針對 開機分區 的處理
所以 win7 win10 基本上應該是差不多

bootrec /fixmbr 是修 MBR分割 的 開機引導
( 主要是在不想 重新分割硬碟 時...只想重新寫入 MBR 的開機引導 ... 這 bootice 可以搞定)

bootrec /fixboot 沒用過...看上去好像是修 開機分區
大概是重新格式化...應該是針對 開機分區 損毀的情況
是否會調整 分割  分區大小 不知道...因為沒用過...我猜是不會
( 如果只是 格式化 bootice 可以搞定 ... 如果要 直接無損調整分割 bootice 就不行了 )
主重點在 開機分區 是要用什麼 FileSystem ...FAT/FAT32 NTFS
bootice 要自己搞... /fixboot 大概會自動搞

不過 windows 通常就是分個 100 ~ 250M 的 FAT32 來做 開機分區  (一般為 第1個分區)


BOOTREC /REBUILDBCD
bcdboot

這則扯到 BCD ( 僅 BCD bootice 一樣可以搞定 )
win7 win10 BCD 雖然 設定 上大致一樣
但新版本比舊版 還是有多一點點不同的東西
另外 BCD 這又扯到 開機檔
雖然都是 bootmgr 但新舊版不同...檔案上也有差異
( 雖然主要檔案的檔案一樣 ...而且一般只要有主要檔案就可以開機 )

BOOTREC /REBUILDBCD 沒用過
如果只是修 BCD ... 應該也不會有什麼問題
簡單說 BCD 壞了可以用 BOOTREC /REBUILDBCD 修一下

bcdboot 這是對 開機分區 複制 開機檔 並對 bcd 建立一個 windows 開機項
( 前題是 BCD 沒壞可以寫入 )
如果 BCD 原本的 windows 開機項 有問題
用這個重建一個比較快...
bcdboot 也會連帶處理開機檔

但...也就是如果用 win10 對 win7 (或 win7 對 win10)
做 bcdboot 因為 開機檔 有差異
可能就會出現一些錯誤訊息
但一般來說...還是可以用
因為 開機檔 主要檔案 的 檔名 是都一樣的
所以 主要檔案 正常都會處理到
而有差異的檔案 對開機影響比較不大 (對正常開機來說)
win8 win10 還好一點開機檔比較相近
win7 win10 差比較多 ... 如果只要能開機(純文字模式)... 還是可以用

修開機...新手村中...有寫開機流程
不過就是把流程中有問題的地方 debug
所以很多工具都可以處理
bootice 是功能多...但要對基本流程和概念有一定層度的瞭解
所以對老手來說 bootice 比較好用

但對 新手 或 windows 都是用預設安裝的情況
windows 自身的 bootrec bcdboot 反而會比較好用(簡單)
因為不用自己去 判斷開機分區 分割處理 分區處理 檔案處理 BCD處理
對用 windows 預設安裝的情況... bootrec bcdboot 都可以正常修復

另外你最後提到的 以上指令 都不行
比較有可能是 原本是 UEFI/GPT 轉到 Legacy/MBR 的情況 (或反之)
因為 UEFI/GPT 和 Legacy/MBR 的開機是不一樣的 開機檔 BCD 都不一樣

bootrec /fixmbr 對 UEFI/GPT 沒意義
bootrec /fixboot 沒用過 就不知道
BOOTREC /REBUILDBCD 主要是對 BCD
所以如果 BOOTREC 會自動判斷 UEFI/GPT , Legacy/MBR 應該沒差
(2者 BCD 存放路徑不同... 設定上也有差異)
bcdboot 則是記得好像 win8 以上的版本才有支援 UEFI 處理
因為記憶中...win7 bcdboot 是沒法處理 UEFI
而且 win7 也沒人在用 UEFI...因為不支援 UEFI Class 3(純UEFI)
而大部份 UEFI 都用 Class 3 比較多

另外 bcdboot 預設處理好像是以你當前 bios 用的 boot 模式
簡單說如果你的修復環境 (winre/pe 或 win) 是用 UEFI 開機
bcdboot 預設處理好像就是做 UEFI 開機的相關處理
反之...如果是用 Legacy 開機...是做 Legacy 開機的相關處理

所以如果...你要修的 PC-A 是用 Legacy , 然後你在另一台 PC-B UEFI 下做修復
或是 同台 PC 但有 UEFI / Legacy(CSM) 2種模式可以開機

用預設的 bcdboot 十之八九不行
應該要加上 /f Bios
bcdboot c:\windows /f bios
這樣在 PC-B UEFI 開機的情況下...去修 Legacy 開機
才能回到 PC-A Legacy 做 Legacy 開機
反之就是
bcdboot c:\windows /f UEFI

當然省事一點就是 UEFI Legacy 都處理
bcdboot c:\windows /f All

老實說 winre 的 啟動修復 ...基本上大概也是類似 bootrec bcdboot 指令的方式在搞
只是更全自動 (自動對情況做判斷)
例如
是 Legacy 就做個 /fixmbr
開機分區 損毀 做個 /fixboot
bcd 有問題  /REBUILDBCD

開機檔有問題 bcdboot 一下

但重點在...最好是用 原始PC 進 winre pe 來做修復
而不是單純把 硬碟 拿到別台上做修復
否則要先知道...PC 是用 UEFI 還是 Legacy

老實說 bootrec bcdboot 指令更多是 windows 對 原機 的修復
在 winre/pe 中才有 bootrec
簡單說 預設安裝 ...本身就會安裝 winre ...
如果 開機 出問題 但還可以進 winre
( 這通常是 BCD 問題...如果 開機分區 損毀...連 winre 應該也進不了 )
通常用 winre  的 啟動修復 都可以搞定

如果連 winre 也進不去
就只能先用 windows 安裝CD 或 USB 進 windows setup ( winpe ) 做修復
如果只是 BCD 損毀 還好 , 啟動修復 應該可以處理
如果 分割 或 開機分區 損毀 就可能沒辦法 ...
可能要手動搞 分割 格式化
當然先備份原 windows
然後直接重灌 windows 該 windows setup 直接搞定 分割 格式化 開機啟動
再把原 windows 還原回去也可以
這是比較省事...懶的去判斷

不過其實不用等他重灌完... 開始灌的時候...直接中斷
反正這時 分割 格式化 應該也處理好了
可以先再重新 format c: /q 一下 , 再直接還原 windows
之後再做一下 bcdboot (建立 開機檔 和 BCD), 大概就可以了

發表於 2021-7-16 07:39:44 | 顯示全部樓層
本帖最後由 阿達金田一 於 2021-7-16 07:49 編輯

方法很多...
比較簡單的是用 dism++
雖然不一定完全準 (對 win10 來說)
我猜 dism++ 大概也是用如同 呆大 的方法去抓版本...
(不過可能是去抓 ntoskrnl.exe 這才是主要核心檔案)

但是 xp ~ win8.1 還可以用檔案版本判斷...因為大改版比較少
版本號 最前面 是核心版本 例如 6.0 , 6.1 , 6.2 , 10.0
然後是 大版本號 , 最後 小版本號
例如
6.1.7601.17514 ( win7 sp1 )
10.0.19041.1110 ( win10 20H1 )

而 xp ~ 8.1 時一般的更新 也只會改最後的小版本號
所以看檔案版本...可以大致判斷出 windows 大版本

但 win10 改版太多...
(最主要是同時期可以用的 win10 版本很多...)
而且大改版...也不會把所有檔案的版本重新編一次
( 8.1 前 感覺最少主要檔案大多都會重編 )
例如
win10 21H1 應該是 10.0.19043.xxxx
但是... explorer.exe 的版本是 10.0.19041.xxxx
也就是說 win10 21H1 和 20H1 都是用一樣的 20H1 的 explorer.exe
(別說 explorer.exe 就連 ntoskrnl.exe ... 21H1 也是用 19041 的)

有點話多了
簡單說的 dism++ 可能也是抓檔案版本...然後
我的 21H1 ...用 dism++ 看到的是 19041


如果要準一點的就是查 系統註冊
用 regedit 把 \Windows\System32\config\SOFTWARE 掛載起來
看 \Microsoft\Windows NT\CurrentVersion
例如 掛載到 \HKEY_LOCAL_MACHINE\sf
就是看 電腦\HKEY_LOCAL_MACHINE\sf\Microsoft\Windows NT\CurrentVersion

例如
以下是 我掛載 win7 reg (和 dism++ 那圖片的 win7 是同一個)


這是本機 win10 的 reg


因為版本不同...一些 reg項 可能有差異
像 都有的 EditionID 這是功能版本 家用(home) 專業(pro)...等等
像 win10 沒 CSDVersion 但有 CurrentMajorVersionNumber

有趣的是 CurrentVersion 這應該是當前核心版本
沒看錯 win10 是 6.3 ...很搞笑吧 (所以就核心來說 8.1 和 10 其實沒差很多???)
當然要看 win10 版本主要大概要看
CurrentMajorVersionNumber
CurrentMinorVersionNumber
CurrentBuildNumber (CurrentBuild)
DisplayVersion

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?我要註冊

x
發表於 2021-7-15 23:38:46 | 顯示全部樓層
本帖最後由 呆呆烈 於 2021-7-15 23:41 編輯

從pe裡面看不到檔案版本嗎
我沒試過...應該可以吧




作業系統
版本
版本號碼
Windows 10
Windows 10(1709)
10.0.16299
Windows 10(1703)10.0.15063
Windows 10(1607)10.0.14393
Windows 10(1511)10.0.10586
Windows 1010.0.10240
Windows 8
Windows 8.1(更新1)
6.3.9600
Windows 8.16.3.9200
Windows 86.2.9200
Windows 7
Windows 7 SP1
6.1.7601
Windows 76.1.7600
Windows Vista
Windows Vista SP2
6.0.6002
Windows Vista SP16.0.6001
Windows Vista6.0.6000
Windows XP
Windows XP 2
5.1.2600 3

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?我要註冊

x
 樓主| 發表於 2021-7-16 22:44:58 | 顯示全部樓層
非常感謝,這麼專業的回答 , 我會問這個問題,主要是 , 客戶有時候電腦已經開不了機 ; 這時候, 我是要用 那一個版本的 PE 去開機做修復 ,先判斷是 MBR , UEFI 後 , 還要知道 OS是什麼版本和32,64位元, 才能用對應的 Win7 修復 , 或 Win10修復; 極少數修到 Server 系統。
另外請問: 如果都是 UEFI GTP 的 win7 或 win10 ,   都可以用 Win10 的修復 去修嗎.?
目前遇到不能開機, 大部份可以用 以下這些指令修復後,即可開機。
a. BOOTREC /FIXMBR
b. BOOTREC /FIXBOOT
c. BOOTREC /REBUILDBCD
以上 3個指令 如果不行 , 用第 4個指令 bcdboot C:\Windows

也遇過, 用了以上指令就是無法開機 ; 我就先備份整棵硬碟後 , 在把硬碟全新重灌對應的OS, 重灌後 , 在把備份檔的 C:槽 ,還原回去剛灌好的機器, 又可以開機了。重灌只是為了要有前面那個 幾百MB的 磁區。

最近看到可以利用 Dism++  和 BOOTICE 來修復開機引導, 還在研究中。 謝謝


 樓主| 發表於 2021-7-17 11:09:00 | 顯示全部樓層
非常感謝  阿達金田一 :這麼祥細的教學 , 很多基礎的文章, 我找空也是要去看一看, 才有利於之後的維修工作 , 謝謝。
發表於 2021-7-17 13:08:10 | 顯示全部樓層
在OS左下角的開始 > 點擊 執行 > 輸入 winver  可以知道 OS的版本
您需要登錄後才可以回帖 登錄 | 我要註冊

本版積分規則

小黑屋|手機版|NoName Team 電腦資訊討論區 |網站地圖

GMT+8, 2021-9-27 07:17 , Processed in 0.157199 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表