問題描述
Win10 64位專業版安裝git 2.x之后出現 Git閃退,安裝1.x出現bash: /dev/null: No such device or address fatal: open /dev/null or dup failed: No such file or directory 錯誤。
背景描述
由於換了新系統(OS是Win10 64專業版),需要重新安裝Git,於是去官網下了Git的最新版本,安裝完之后,發現不能用,一點開Git bash 就退出了,不知道怎么回事。我以前win10 家庭版也是官網下的最新版本,可以正常使用。於是,我初步斷定是操作系統的原因,問了身邊的同事,他們也都是win10,但是安裝Git的時候沒有出現類似的問題,很順利的安裝成功,但他們貌似都不是Win10專業版,都是什么家庭版,旗艦版。於是我去網上尋找答案,大家都知道網上的答案五花八門,很多是針對win7的,針對win10 的很少,且有的答案按照其說的做了仍然不能解決問題,下面我將分享我解決問題的 過程。
問題解決過程描述
- 網上有答案說是C:/Window/System32/drivers/null.sysnull.sys 這個系統文件損壞,於是我從同事那里拷貝一個過來,覆蓋之,重啟。沒有解決問題
- 以管理員身份運行CMD,在CMD下輸入 sfc /scannow 進行系統掃描修復。我的安裝100%重啟后問題依舊, 如果此過程中掃中途時候出現了如下的錯誤
- 解決步驟二中的錯誤
第一步:在聯網情況下,按按(Windows+X)+A,也就是在powershell命令提示符中輸入DISM.exe /Online /Cleanup-image /Scanhealth 按回車鍵, DISM.exe /Online /Cleanup-image /Restorehealth 按回車鍵。
完成后請重啟電腦。
上面的貌似也沒解決我的問題。在此分享下終極解決辦法,繼續查找原因:
Windows 上也有 /dev/null????Google 一圈后發現確實有,是用一個系統服務模擬的:
在 windows/system32/cmd.exe 右鍵管理員方式運行:
C:\Users\Administrator>sc query null
手動啟動該服務報錯:
C:\Users\Administrator>sc start null [SC] StartService 失敗 577: Windows 無法驗證此文件的數字簽名。某軟件或硬件最近有所更改,可能安裝了簽名錯誤或損毀的文件,或者安裝的文件可能是來路不明的惡意軟件。
C:\Windows\System32\drivers\null.sys 從其他系統上拷貝一個過來覆蓋,再啟動 null 服務就正常了:
如何確定null.sys是否正常,很簡單。實行如下命令:
C:\Users\Administrator>sc start null SERVICE_NAME: null TYPE : 1 KERNEL_DRIVER STATE : 4 RUNNING (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN) WIN32_EXIT_CODE : 0 (0x0) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x0 WAIT_HINT : 0x0 PID : 0 FLAGS :
如果你一下子找不到可用的 null.sys,可以試試我這個(for Windows10 64位)。
如果sc start null 啟動成功。OK,問題解決。
再次右鍵git bash here ,沒有閃退了。皆大歡喜。這就是用盜版系統的悲劇。自己給自己挖的坑。
最后附上我的null的地址
鏈接:https://pan.baidu.com/s/1UtcZizm-iFcVk4OKrnFJVg 密碼:1q4d