給電腦分區rpc伺服器不可用
1. 筆記本輸入密碼後進不去桌面顯示rpc伺服器不可用
RPC伺服器不可用怎麼解決?教你6個方法!
如果你在備份win10時遇到錯誤信息:"RPC伺服器不可用(0x800706BA)"。不要緊張,本文為你提供了6個有效的解決方法。希望你的問題可以通過其中一個方法解決。
情景再現
"在升級Windows 10版本1803後,我創建系統映像總是失敗,並提示錯誤信息:'備份失敗。RPC伺服器不可用(0x800706BA)'。這是怎麼回事?我該怎麼解決這個問題呢?"
如上所述,不知道你在創建系統映像時有沒有遇到過同樣的錯誤,如果你也是這樣,請繼續閱讀下文中的解決方法。
出現RPC伺服器不可用的原因
據統計得,出現該問題的大部分用戶,使用的是32位1803版本的Windows 10系統。但實際上,這個問題在任何版本的操作系統上都有可能發生。RPC的意思是遠程過程調用協議,是一種通過網路從遠程計算機程序上請求服務,而不需要了解底層網路技術的協議。所以只要伺服器和客戶端之間通信出現問題,就會發生此錯誤。
通常,出現該錯誤有以下幾個原因:
網路連接問題。
域名解析問題。
防火牆或殺毒軟體影響網路。
注冊表損壞。
RPC伺服器不可用怎麼解決?
由於出現這個問題的原因較多,接下來根據原因給你介紹6個解決問題的方法。
方法一.使用第三方軟體進行系統備份
解決該問題最簡單的方法就是使用第三方備份還原軟體,如傲梅輕松備份免費版。該軟體用戶界面簡潔,操作簡單。它可以進行系統備份、磁碟備份、分區備份等。支持Windows 10/8.1/8/7/Vista/XP。這么強大的軟體該怎麼使用呢?接下來是詳細的操作步驟。在開始之前,請確保你已經在電腦上下載並安裝好了該軟體。
1. 打開軟體後,點擊左側工具欄中的"備份",然後選擇"系統備份"。
2. 它將自動為你選擇系統分區。你只需要選擇儲存備份的位置即可。
3. 設置完畢後,點擊"開始備份",等待完成即可。
注意:
方法二.檢查RPC服務是否正常運行
為確保所有RPC相關的服務均正常運行,請按照以下步驟操作。
按組合鍵"Win+R"打開"運行"。接下來,輸入"services.msc"並按下"回車"。
在新彈出的"服務"窗口中,向下滾動找到"DCOM Server Process Launcher","Remote Procere Call (RPC)"和"RPC Endpoint Mapper"項,確保其啟動類型為"自動",服務狀態為"已啟動"。
方法三.檢查注冊表是否設置正確
注冊表設置錯誤也會導致RPC伺服器不可用,檢查注冊表請按照以下步驟操作。
注意:修改Windows注冊表非常危險,操作時任何小的錯誤都可能會導致電腦系統崩潰。所以,在進行以下步驟之前,建議你使用傲梅輕松備份免費版進行系統備份。
以管理員身份登錄系統。然後,在"運行"框中輸入"regedit",然後按"回車"。
進入注冊表編輯器後,依次找到以下路徑:
HKEY_LOCAL_
HKEY_LOCAL_
HKEY_LOCAL_
分別雙擊三個路徑中的"start",然後將它們的數值數據改為2。
關閉注冊表編輯器,查看問題是否解決。
方法四.設置電腦防火牆
有時,防火牆可能會阻止RPC的通信請求,從而出現該問題。所以請檢查防火牆配置,並查看它是否阻止了RPC連接到網路。
在電腦左下角的搜索框中輸入"控制面板",然後將其打開。
點擊"系統和安全",再點擊"Windows Defender防火牆",然後選擇左側的"允許應用或功能通過Windows Defender防火牆"。
找到"遠程協助",並將"專用"和"公用"打勾。然後,點擊"確定"即可。
方法五.檢查網路連接
網路連接中斷也會導致RPC伺服器不可用。所以,請按照以下方法來檢查網路連接是否出現了錯誤。
在"運行"中輸入"ncpa.cpl",然後按下"回車"。這會顯示所有可用的網路連接。
在"網路連接"窗口中,右鍵點擊你正在使用的網路,然後選擇"屬性"。
檢查是否勾選了"Microsoft網路的文件和列印機共享"和"Internet協議版本6(TCP/IPv6)"。
方法六.將操作系統升級或降級
據統計,32位1803版本的Windows 10系統更容易出現RPC伺服器不可用的問題。所以你可以選擇將系統降級到以前的版本,或者升級到更高的系統來解決問題。
升級:點擊"開始">"設置">"更新和安全">"檢查更新"。
降級:如果是在30天內升級到當前版本,並且Windows.old文件夾沒有刪除,那你可以點擊"開始">"設置">"更新和安全">"恢復">"回退到較早的版本">"開始"。
總結
這就是解決"RPC伺服器不可用"問題的6個方法。雖然不能保證100%有效,但還是希望能夠幫助到你。事實上避免系統出現問題的最好方法是定期進行系統備份,而傲梅輕松備份正好能夠幫助到你!
有了它,你再也不用擔心win10自動修復無法開機、無法在這台電腦上創建恢復驅動器、此驅動器不是有效備份位置等類似系統問題。
2. window7旗艦版開機說遠程過程調試失敗和rpc不可用
遠程調用(RPC)錯誤排除解答
如果您多年來使用的都是 Windows 伺服器平台,那麼可能曾經看到過遠程過程調用 (RPC) 錯誤。它們提示您 RPC 伺服器無法使用,或者沒有更多的可用終結點,或提供某個其他難懂的警告。如果您對這些消息感到困惑,請繼續閱讀。我會
談到一些比較常見的錯誤,以及可用來識別所遇到的 RPC 錯誤的各種技術,並會討論一些可以解決某些特定問題的解決方案。但是在我討論 RPC 錯誤和解決方案之前,先讓我們大致了解一下 RPC 技術。
什麼是 RPC?
RPC 是一種進程間通信 (IPC) 方法,客戶端和伺服器可使用這種方法來進行相互之間的通信。簡單地說,RPC 可被程序(通常是客戶端計算機上的程序)用來執行伺服器計算機上的程序。例如,Microsoft? Outlook? 客戶端可通過使用 RPC 與 Microsoft Exchange Server 通信。客戶端計算機會使用某些參數將消息發送到伺服器計算機。而伺服器則會以一條包含執行程序的結果的消息響應客戶端。
此過程的組成部分是終結點,即計算機上的名稱、埠或埠組,由伺服器監視經過其傳入的客戶端請求。更具體地講,它是用於 RPC 的伺服器進程特定於網路的地址。
終結點映射程序 (Endpoint Mapper) 是 RPC 子系統的一個組成部分,負責響應客戶端要解析動態終結點的請求。在某些情況下,終結點映射程序還負責動態地將終結點分配給伺服器。
另一個重要的 RPC 組件就是 Locator 服務。它維護網路上的 RPC 服務和伺服器列表。Windows? 客戶端會連接到伺服器消息塊 (SMB) 埠(TCP 139 和 445)上的域控制器,並通過 Locator 服務搜索 RPC 服務或伺服器。
大多數內置的 Windows 服務都通過 RPC 相互通信。例如,證書服務、DCOM、FRS、MSMQ、MAPI 和 Active Directory?復制服務都使用 RPC 來進行通信。因此,如果 RPC 服務不能網路上正常運行,則您可能就會遇到很多通信問題。
RPC 錯誤
現在讓我們看一些 RPC 服務失敗時您可能會遇到的錯誤。(這並不是完整的列表。)
當文件復制服務 (FRS) 失敗時,運行時可能會出現可怕的「RPC 無法使用」錯誤。當您試圖映射一個驅動器時,可能會遇到「拒絕訪問」錯誤。當使用 Active Directory 用戶和計算機時,可能會看到錯誤消息「指定的域不存在或無法聯系。」登錄域時,可能會看到一條錯誤消息,指明「缺少該系統主域的計算機帳戶或該帳戶的密碼不正確,無法讓您登錄此域。」
當 Microsoft Outlook 客戶端試圖與 Exchange Server 通信時,RPC 失敗可能會導致客戶端遇到「您的登錄信息不正確」或「Outlook 無法登錄」等令人誤解的錯誤。
除了這些錯誤外,當 RPC 服務不可用時,您可能還會遇到其他問題。例如,可能會無法瀏覽「網上鄰居」中的域,或者可能無法打開「組策略」管理單元。
這些只是一部分示例而已,在這些示例中您可能沒想到 RPC 會引起問題。在更多示例中,以及在涉及遠程過程的任何時候,RPC 問題都有可能是造成您困境的根本原因。那麼您要如何確定,以及更重要的是,如何跟蹤到精確的錯誤呢?讓我們來了解一下。
故障排除
如果您懷疑您的 RPC 服務遇到了問題,您可以使用好幾個工具來診斷這些問題。
一個是 Repadmin 工具。這個程序通常是用來監視和排除 Active Directory 復制問題,但是它也可以用來排除 RPC 終結點映射程序的問題。要運行該工具,可在命令提示符下鍵入 repadmin /bind。如果您遇到了 RPC 問題,會看到類似下面這樣的消息:「終結點映射程序沒有更多可用的終結點。」這是與 RPC 相關的問題的第一個提示。
另一個選擇是使用「域控制器」診斷工具 (DCDiag),這是一個通過域控制器診斷問題的命令行程序。如果您看到錯誤「狀態為 1722:RPC 伺服器無法使用」,您就知道遇到了「域控制器」診斷工具恰巧發現的 RPC 問題。
很多時候,您都在使用 Ntdsutil(用來管理 Active Directory 和執行大量維護任務的命令行工具),這個時候如果您試圖連接到伺服器,就可能會遇到 RPC 錯誤。最有可能的就是您會看到更常見的錯誤之一,例如「終結點映射程序沒有提供更多的終結點」。同樣,這是 RPC 可能存在問題的一個提示。如果真是 PRC 存在問題,檢查域控制器上「組策略」對象一致性的 Gpotool 工具也會報出同樣的錯誤。
使用 Dcpromo 工具將 Windows 2000 Server 或 Windows Server? 2003 伺服器提升為域控制器時產生的 Dcpromo.log 也可以顯示 RPC 的問題。例如,如果提升失敗,可以查看一下該日誌。它位於 %windir%\debug 文件夾。列出的錯誤大意是目錄服務無法復制分區,或無法創建對象。在此消息結束的地方會有一個錯誤代碼。下面是您可以在 Dcpromo.log 中看到的錯誤消息類型的一個示例:
08/14 10:35:04 [INFO] Error - The Directory Service failed to replicate
the partition CN=Schema,CN=Configuration,DC=.. (1722) 08/14 10:35:04 [INFO]
NtdsInstall for dc.contoso.com. returned 1722 08/14 10:35:04 [INFO]
DsRolepInstallDs returned 1722 08/14 10:35:04 [ERROR] Failed to install
the directory service (1722)
注意錯誤代碼 1722,在這條消息中出現了四次,這指明 RPC 伺服器無法使用。圖 1 列出了部分錯誤代碼及其說明,更多的錯誤代碼及其說明可以在 msdn2.microsoft.com/ms681386 中找到。
Figure 1 錯誤代碼及其說明
錯誤代碼 說明
58 指定的伺服器不能執行請求的操作。
1721 沒有足夠的資源可用於完成此操作。
1722 RPC 伺服器不可用。
1723 RPC 伺服器太忙,無法完成此操作。
1727 遠程過程調用失敗,尚未執行。
1753 終結點映射程序沒有提供更多的終結點。
解決 RPC 錯誤
既然您已掌握了檢測某些 RPC 錯誤的方法,接下來就讓我們看一下部分解決方案。
Microsoft 客戶端會連接到埠 135 上的 RPC 終結點映射程序。然後終結點映射程序會告訴該客戶端請求的服務在偵聽哪一個埠。系統會動態分配這些埠號,可以是 1024 和 65,535 之間的任何埠號。當您遇到錯誤時,例如 1753,就表示終結點映射程序沒有提供更多的終結點,這意味著 RPC 終結點映射程序無法對服務使用大於 1024 的埠。我們稍後再進一步討論這個主題。
您需要做的第一件事是檢查伺服器上 RPC 服務的狀態。根據伺服器角色的類型,RPC 和 RPC Locator 服務應具有圖 2中所列的狀態。如果兩個服務都沒有像圖中顯示的那樣配置,請嘗試調整狀態,重新啟動伺服器,然後進行測試,看它是否解決了您的問題。
Figure 2 RPC 服務的狀態
伺服器角色 RPC 服務 RPC Locator 服務
Windows Server 2003—域控制器 已啟動,自動 已停止,手動
Windows Server 2003—成員伺服器 已啟動,自動 已停止,手動
Windows Server 2003—獨立伺服器 已啟動,自動 已停止,手動
Windows 2000 Server—域控制器 已啟動,自動 已停止,自動
Windows 2000 Server—成員伺服器 已啟動,自動 已啟動,手動
Windows 2000 Server—獨立伺服器 已啟動,自動 已停止,手動
請驗證您的客戶端是否可以成功地 Ping 存在連接問題的伺服器。例如,如果您在與 IP 地址為 192.168.1.200,名為 DC1 的伺服器通信時遇到了問題,則在命令提示符下使用下面的命令來驗證 DNS 是否在正確地解析主機 DC1:
Ping –a 192.168.1.200
請確保是將 –a 開關與 IP 地址(而不是主機名)搭配使用。
如果一切順利,您應該會得到 DC1 的響應,如圖 3 中所示的 Ping 響應。注意 Ping 不只是解析 IP 地址 192.168.1.200,還解析主機名 dc1.contoso.com。這確定了 DNS 名稱解析在正常運行,並且如期望的那樣正確地解析到主機 dc1.contoso.com。
Figure 3 Ping 響應
C:\WINDOWS>ping -a 192.168.1.200
Pinging dc1.contoso.com [192.168.1.200] with 32 bytes of data:
Reply from 192.168.1.200: bytes=32 time<1ms TTL=128
Reply from 192.168.1.200: bytes=32 time<1ms TTL=128
Reply from 192.168.1.200: bytes=32 time<1ms TTL=128
Reply from 192.168.1.200: bytes=32 time<1ms TTL=128
Ping statistics for 192.168.1.200:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
您還應確保 Windows XP 或 Windows 2000 客戶端上的注冊表至少包含圖 4 右窗格中列出的四個 ClientProtocols。
圖 4 列入注冊表的 RPC ClientProtocols
如果缺少任一項,則添加一個圖 4 中所示名稱和數據類型的新字元串值。在默認情況下,還有一個名為 ncacn_nb_tcp 的第五項,它可用來識別基於 TCP 的 NetBIOS,將其作為終結點的協議家族。根據您的配置,您的 ClientProtocols 下可能沒有列出這一項,這時您可以手動添加此項以查看它是否解決了 RPC 錯誤。
注意列在圖中左窗格中的 Rpc 文件夾下的項,即 ClientProtocols、NameService、NetBios 和 SecurityService。如果您恰巧看到名為 Internet 但沒有值的項,請嘗試刪除該項,然後重新啟動您的計算機。這可能會幫助您解決問題。但是在您修改 Windows 注冊表時始終要非常小心。
如前面所述,RPC 可以使用 1024 到 65,535 之間的埠,因此您需要確保這些埠沒有被防火牆封鎖。要確保埠開放的最簡單的方法就是使用「埠查詢」工具。這個工具有兩種類型:命令行版本 (PortQry) 和 GUI 版本 (PortQueryUI)。
PortQry 可在 Microsoft 下載中心下載。有關其他信息,請查看文章「有關 Portqry.exe 命令行實用工具的說明」。在那裡您可以找到 PortQry 狀態報告的簡要說明以及用來解決問題的命令示例。請不要忘記您還可以使用 GUI 版本,它更加簡單,可以在 go.microsoft.com/fwlink/?LinkId=73740 下載。
使用「埠查詢」時,您應該確保在沒發生過 RPC 錯誤的計算機上運行它,並且是針對發生了 RPC 問題的計算機來運行它。例如,如果您想驗證埠 135(它被 RPC 終結點映射程序佔用)是否開放,可以在命令提示符下使用 PortQry,如下所示:
portqry -n [servername] -e 135
無論您使用的是 PortQuery 還是 PortQueryUI,您都會獲得結果,如下所示:
Starting portqry.exe -n 192.168.1.200 -e 135 -p TCP ...
Querying target system called:
192.168.1.200
Attempting to resolve IP address to a name...
IP address resolved to dc1.contoso.com
querying...
TCP port 135 (epmap service): LISTENING
最後一行顯示埠 135 是開放的。否則,最後一行會指明「未偵聽」。
要查看埠的范圍,請輸入以英文逗號隔開的埠號范圍,例如「135,1024-5000」。
其他解決方案
如果嘗試了目前列出的所有辦法還是沒有解決您的問題,這里還有一些其他方法供您選擇。根據您環境中的具體問題,您可能想要嘗試對注冊表進行下列其中一項修改。(等等!在修改注冊表前,請確定您已備份您的系統,尤其是注冊表,這很重要;這樣如果真的發生錯誤,您可以將您的計算機恢復到之前的狀態。)
一個方法是調整 MaxUserPort,以指定當應用程序請求系統的可用用戶埠時 TCP 可分配的最大埠號。在默認情況下,Windows Server 2003 會將 MaxUserPort 的值設置為 5000,這表示它以 5000 作為最大埠號,即使此項不存在。根據您的配置,您的注冊表中可能沒有此項,這時您可以將此項添加到圖 5 所示的位置。
圖 5 注冊表中的 MaxUserPort 設置
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Data type = REG_DWORD
Port range = 5000 – 65534
Default = 5000
在修改注冊表時,您需要注意任何其他潛在的負面影響,它並不總是那麼容易。如果將這個值設置為 50,000,則修改此項可能會對 Microsoft Exchange Server 有影響。如果 Exchange Server 最佳實踐分析工具 (BPA) 發現 MaxUserPort 注冊表項的值小於 50,000,它會顯示一個警告。Microsoft 建議您將值設置為 60,000;否則您可能會引發命名服務提供程序介面 (NSPI) 代理警告,例如事件 9040。有關詳細信息,請參閱 Microsoft 的文檔「MaxUserPort 值太小」。
您還可以調整 TcpMaxDataRetransmissions。TCP 數據包期望能收到接收端的確認。如果在計時器到時之前還沒有確認,則會重傳數據包,最多 TcpMaxDataRetransmissions 次。此參數的默認值是 5,但是您可能想嘗試 4 或 3 這些值。請不要使用小於 3 的值。
如果 TcpMaxDataRetransmissions 注冊表項不存在,您可以將它添加到注冊表的下列位置,如下所示:
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Data type = REG_DWORD
Valid range = 0 - 0xFFFFFFFF (hexadecimal)
Default = 5
有關 TcpMaxDataRetransmissions 的詳細信息,請參閱 Microsoft 知識庫文章 170359「如何修改 TCP/IP 最大重傳超時時間」。
另一個您可能想實驗的注冊表項是 TcpTimedWaitDelay。如果用戶端使用了過多的埠,很可能它會在 TCP/IP 釋放關閉的連接之前用盡埠。這是因為 TCP/IP 直到經過段最大生存時間 (MSL) 的兩倍時間後才會釋放連接(這稱為時間等待狀態)。此外,因為每個 MSL 都被定義為 120 秒,而 TCP/IP 直到經過 2 個 MSL 後才會釋放連接,因此需要長達 240 秒(4 分鍾)的時間才能讓 TCP/IP 釋放一個關閉的連接。注意,這是一個使用 Service Pack 進行改正後的 Windows NT? 中已知的問題;因此目前您不太可能會遇到這個問題。但是,Microsoft 建議調整這個設置,使之成為一個可以解決 RPC 終結點映射程序錯誤的可能解決方案,正如知識庫文章「如何排除 RPC 終結點映射器錯誤」中所說明的一樣。
可將 TcpTimedWaitDelay 添加到注冊表的下列位置:
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Data type = REG_DWORD
Range: 30 - 300 (decimal)
Default: 0xF0 (240 decimal)
有關 TcpTimedWaitDelay 的詳細信息,請參閱知識庫文章「Windows NT 客戶端用盡埠」。盡管該文章沒有建議任何特定的數字,但是您可能會想將 TcpTimedWaitDelay 降到以十進製表示的 60(秒),而以十六進製表示則為 3c。
結束語
RPC 錯誤可能是您的網路出現各種通信錯誤的根本原因。幸運的是,您現在有好幾種創新方法,可以幫助排除這些難以捕捉的問題。我在這里推薦的工具有些是內置的,有些是 Windows Server Resource Kit 中提供的。很多都已在圖 6 中列出。您可以使用這些工具來檢測 RPC 錯誤的原因和位置,然後使用本文列出的其中一項技術來解決這些錯誤。
Figure 6 RPC 故障排除工具
工具 說明
DCDiag 分析域控制器的狀態。
事件查看器 顯示記錄的事件。
Gpotool 確定策略是否有效、一致。
NetDiag 用於測試網路連接。
Network Monitor 監視和捕獲網路通信。
Ntdsutil 為 Active Directory 提供管理工具。
PortQry,PortQueryUI 用於 TCP/IP 連接測試。
Repadmin 診斷 Windows DC 之間的復制問題。
RPCDump 通常與 Network Monitor 一起使用。
RPCPing 用於確認 RPC 連接。