AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 55063
Accepted
ScottStonehouse
ScottStonehouse
Asked: 2009-08-18 07:41:22 +0800 CST2009-08-18 07:41:22 +0800 CST 2009-08-18 07:41:22 +0800 CST

远程重启进入安全模式?(视窗)

  • 772

我知道您可以使用“关闭”命令行远程关闭 Windows 机器。但我认为远程让机器进入安全模式(通过网络)是不可能的。有谁知道这样做的方法?

windows
  • 10 10 个回答
  • 96785 Views

10 个回答

  • Voted
  1. Best Answer
    Marko Carter
    2009-08-18T07:59:54+08:002009-08-18T07:59:54+08:00

    如果您在远程计算机上具有管理员权限,那么这是可能的。

    您需要编辑 boot.ini 文件(通常位于 C: 驱动器的根目录)

    在本地计算机上打开命令提示符

    类型:

    EDIT \\MACHINENAME\C$\BOOT.INI
    

    引导 ini 文件将打开,通常看起来像这样:

    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional"  
    /noexecute=optin /fastdetect
    

    在最后一行的末尾,您需要添加

    /safeboot:network
    

    最后一行将显示类似

    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional"  
    /noexecute=optin /fastdetect /safeboot:network
    

    保存更改,然后从命令行强制重新启动,它应该重新启动到网络安全模式。完成后记得将 boot.ini 文件改回来!

    • 11
  2. mivk
    2012-05-26T23:34:44+08:002012-05-26T23:34:44+08:00

    要将 Windows 7 重新启动到网络安全模式,请运行 msconfig.exe。在启动选项卡上,您可以选择“安全启动”,并且有一个用于联网的复选框。

    我不确定远程桌面是否会在安全模式下运行。我使用 TightVNC。要让 TightVNC 服务以安全模式启动,请将其注册表项复制到 safeboot\network:

    REG COPY HKLM\system\CurrentControlSet\services\tvnserver HKLM\system\CurrentControlSet\control\safeboot\network\tvnserver /s /f
    

    其他 VNC 服务可能也可以以相同的方式激活。

    • 11
  3. squillman
    2009-08-18T07:46:37+08:002009-08-18T07:46:37+08:00

    工作站机器不太可能。您需要一些可以让您控制机器本身的东西,以便告诉 Windows 如何启动。

    您将在服务器硬件上获得更多运气,因为许多供应商都内置了远程连接到控制台的选项。

    但是,如果您可以选择以交互方式连接到计算机上的 Windows,则可以使用 MSCONFIG 在 boot.ini 中设置 /SAFEBOOT 开关,然后重新启动计算机。执行 Start -> Run 并输入 MSCONFIG,然后在 boot.ini 选项卡上检查 Boot Options 下的 /SAFEBOOT 并选择要启动的安全模式(在这种情况下为 NETWORK)。

    • 1
  4. JS.
    2009-08-18T08:04:03+08:002009-08-18T08:04:03+08:00

    LogMeIn 有一个安全模式重启选项。

    • 1
  5. Nienor
    2011-09-24T00:14:09+08:002011-09-24T00:14:09+08:00

    这正是惠普集成熄灯选项的用途。编辑 boot.ini 文件不会有太大帮助,因为您将无法登录机器,因为 RDP 服务不会运行。如果那是 HP 服务器,尽管您可以通过 https 门户直接连接到它的控制台,并且还可以访问虚拟“电源按钮”。

    • 1
  6. JohnLBevan
    2020-04-03T05:09:26+08:002020-04-03T05:09:26+08:00

    不是问题的答案,但希望对尝试此操作时遇到问题的任何人有用。我发现尽管在网络安全模式下重新启动,但包括Remote Desktop Services和Server(即提供 SMB 访问boot.ini)在内的各种服务无法启动,通过 MMC > 服务启动时出现错误代码 1084。

    下面的 powershell 使用 WMI(似乎仍然有效)使远程计算机退出安全模式并重新启动它。

    Function Repair-RemoteSafeModeBoot {
        [CmdletBinding()]
        Param (
            [Parameter(Mandatory = $true)]
            [string]$ComputerName
        )
        if (-not (Test-Connection -ComputerName $ComputerName -Quiet -Count 1 -ErrorAction 'Stop')) {
            throw "Could not ping $ComputerName; no attempt made to fix it"
        }
        $os = Get-WmiObject -ComputerName $ComputerName -Class 'Win32_OperatingSystem' -ErrorAction 'Stop'
        Write-Verbose "Computer $ComputerName last rebooted at $($os.ConvertToDateTime($os.LastBootUpTime))"
        $cs = Get-WmiObject -ComputerName $ComputerName -Class 'Win32_ComputerSystem' -ErrorAction 'Stop'
        Write-Verbose "Computer $ComputerName bootup state is $($cs.BootupState)"
        if ($cs.BootupState -eq 'Normal boot') {
            Write-Warning "$ComputerName is not in safe mode; no attempt to fix it was made"
            return # we don't want to proceed if the remote device is already in normal mode as we may do more harm than good (unlikely to have any impact tbh; but why risk it)
        }
        if ($cs.BootupState -ne 'Fail-safe with network boot') {
            Write-Warning "$ComputerName has boot up state $($cs.BooupState).  I've never tested with these states, so can't say what will happen.  Please read up on this & if acceptable to proceed amend this script to enable it for your scenario."
            return # probably safe to remove this & continue; but I don't want to be responsible for that decision... Comment this statement out at your own risk
        }
    
        # run a command on the remote computer to take it out of safe mode: https://superuser.com/a/706664/156700
        $rv = Invoke-WmiMethod –ComputerName $ComputerName -Class 'win32_process' -Name 'create' -ArgumentList 'bcdedit /deletevalue {default} safeboot' -ErrorAction 'Stop' | Select-Object -ExpandProperty ReturnValue
        if ($rv -ne 0) {
            throw "Attempted to run bcdedit, but received return value $rv implying that the command was unsuccessful"
        }
        Start-Sleep -Seconds 5 # probably not required; but added to be safe.  It's not like 5 seconds is much to ask if you're in this scenario.
    
        #restart the remote computer
        $rv = $os.Reboot() | Select-Object -ExpandProperty ReturnValue
        if ($rv -ne 0) {
            throw "Attempted to reboot the remote device, but received return value $rv, implying that the command was unsuccessful"
        }
    
        Write-Information "$ComputerName updated to normal mode & restarted.  Wait a few minutes whilst the reboot occurs then try to log in.  If you still have issues try rerunning this command with the -Verbose flag enabled to check whether the boot time or mode have changed."   
    }
    
    Repair-RemoteSafeModeBoot -ComputerName 'MyServer' -Verbose # where MyServer is the name of the remote server in safe mode
    

    注意:您可以只运行下面的 3 行;上面的函数只是作为一个方便的包装器。我没有测试过上面的 cmdlet;虽然我在没有包装器的情况下使用了这种方法,所以可以说所有单独的部分都有效。

    $ComputerName = 'MyServer'
    Invoke-WmiMethod –ComputerName $ComputerName -Class 'win32_process' -Name 'create' -ArgumentList 'bcdedit /deletevalue {default} safeboot'
    (Get-WmiObject -ComputerName $ComputerName -Class 'Win32_OperatingSystem').Reboot()
    

    注意:我只在 Windows Server 2008 R2 上尝试过。YMMV。

    • 1
  7. Tom
    2011-04-09T05:52:52+08:002011-04-09T05:52:52+08:00

    上面关于编辑 boot.ini 的答案很好——除了……你不能更改 boot.ini 文件……如果你一步一步按照“马克”的指示去做——你碰上了砖墙因为 boot.ini 是只读的。

    编辑:是的....我测试了它以管理员身份登录。

    • 0
  8. Analyst Joe
    2012-09-11T10:20:54+08:002012-09-11T10:20:54+08:00

    如果你草草选择修改为BOOT.ini带网络的安全模式重启,然后重启,你会发现根本无法远程登录。您可能能够查看引导文件\\machinename\C$\boot.ini,但由于它是只读的,因此无法对其进行修改。您也将无法“右键单击并取消选中‘只读’”,因为您根本无法导航到该C$目录。我现在必须亲自登录到这个虚拟工作站才能更换boot.ini背部。我再也不会犯这样的错误了!

    • 0
  9. David H.
    2015-02-04T05:44:08+08:002015-02-04T05:44:08+08:00

    boot.ini 文件发生了什么?

    视窗 7 更多

    在早期版本的 Windows 中,boot.ini 是一个系统文件,其中包含有关计算机上安装的 Windows 操作系统的信息。此信息在您打开计算机时的启动过程中显示。它在多重引导配置中或对于需要自定义 Windows 启动方式的高级用户或管理员最有用。

    在此版本的 Windows 中,boot.ini 文件已替换为引导配置数据 (BCD)。该文件比 boot.ini 更通用,它可以适用于使用基本输入/输出系统 (BIOS) 以外的方式启动计算机的计算机平台。

    如果您需要对 BCD 进行更改,例如从显示的操作系统列表中删除条目,请使用命令行工具 Bcdedit,这是一种适用于管理员和 IT 专业人员的高级工具。有关 Bcdedit 的技术信息,请访问面向 IT 专业人员的 Microsoft 网站。

    如果您的计算机是多重引导配置,您仍然可以使用控制面板中的系统更改默认打开的 Windows 操作系统以及显示操作系统列表的时间。

    1. 通过单击“开始”按钮“开始”按钮的图片,右键单击“计算机”,然后单击“属性”来打开系统。

    2.在左侧窗格中,单击高级系统设置。需要管理员权限 如果系统提示您输入管理员密码或确认,请键入密码或提供确认。

    3.单击高级选项卡,然后在启动和恢复下单击设置。

    4.在系统启动下,选择默认操作系统和显示操作系统列表的时间量,单击确定,然后再次单击确定。

    http://windows.microsoft.com/en-ca/windows/what-happened-boot-ini-file#1TC=windows-7

    • 0
  10. AlexParty
    2019-06-27T01:08:05+08:002019-06-27T01:08:05+08:00

    如果你犯了这个错误,你可能会通过文件资源管理器导航到 boot.ini 文件,所以 \hostname\C$\boot.ini,你也有可能删除“/safeboot” :network”并保存。

    如果您可以将更改保存到 boot.ini 文件,则以管理员身份运行命令提示符并尝试运行此命令以重新启动:shutdown /r /m \hostname /t 00

    希望有了这个你会重新开始工作!

    • 0

相关问题

  • 知道任何适用于 Windows 的快速可编写脚本的 ftp 客户端吗?[关闭]

  • 如果 Windows 服务崩溃,如何自动重新启动它?

  • 如何在笔记本电脑上使用 Tobit David?[关闭]

  • 无法安排任务(访问被拒绝)

  • 物理机重启时自动重启虚拟机(VMWare)

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve