You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多系统笔记本迁移硬盘后Win7无法通过Grub启动的修复求助

多系统笔记本迁移硬盘后Win7无法通过Grub启动的修复求助

Hey there, let's work through getting your Windows 7 booting again via Grub. The core issue here is almost certainly that Windows' own boot loader configuration got messed up during the partition restore process—Grub can only hand off to Windows' boot system, so if that's broken, Grub can't fix it alone. Here's a step-by-step plan:

Step 1: Verify Your Partitions & Refresh Grub's System Detection

First, let's make sure Grub is actually seeing Windows correctly from your Ubuntu/MX Linux environment:

  1. Open a terminal (Ctrl+Alt+T) and run this to list all your partitions:
    sudo fdisk -l
    
    Look for /dev/sda2—it should be marked as an NTFS partition, and you'll see a note that it's the Windows system partition.
  2. Install (if missing) the tool Grub uses to detect other operating systems:
    sudo apt install os-prober
    
  3. Run os-prober to force it to scan for Windows:
    sudo os-prober
    
    If it outputs a line like /dev/sda2:Windows 7 (loader):Windows:chain, that means it found Windows.
  4. Update Grub to rebuild its menu with the correct Windows entry:
    sudo update-grub
    
    Reboot and try selecting the new Windows entry—if this works, you're done! If not, move to the next step.

Step 2: Manually Boot Windows via Grub Command Line

If Grub's auto-detected entry still fails, let's try manually pointing Grub to Windows' boot loader:

  1. When the Grub menu appears, press c to enter the command line.
  2. List all your partitions to find the right one for Windows:
    ls
    
    You'll see entries like (hd0,msdos1) and (hd0,msdos2). Test each with:
    ls (hd0,msdos2)/
    
    Look for a Windows folder—this confirms it's your system partition (sda2 corresponds to msdos2 here).
  3. Set Grub's root to this partition and load the NTFS module:
    set root=(hd0,msdos2)
    insmod ntfs
    
  4. Chainload Windows' boot loader:
    chainloader +1
    boot
    
    If Windows boots successfully, great! Now we need to fix its internal boot configuration so Grub can reliably boot it in the future.

Step 3: Fix Windows' Internal Boot Configuration (If Manual Boot Worked)

Once you're in Windows:

  1. Open Command Prompt as Administrator (right-click Start > Command Prompt (Admin)).
  2. Run these commands one by one to repair the boot records:
    bootrec /fixmbr
    bootrec /fixboot
    bootrec /rebuildbcd
    
    When rebuildbcd asks if you want to add the detected Windows installation, type Y and press Enter.
  3. Reboot your laptop—Grub should now have a working Windows entry.

Step 4: Repair Partition Table or Boot Files (If Manual Boot Fails)

If even manual Grub commands don't boot Windows, your partition table or Windows boot files might be corrupted. Try this with the testdisk tool:

  1. From Ubuntu/MX Linux, install testdisk:
    sudo apt install testdisk
    
  2. Run it with sudo:
    sudo testdisk
    
  3. Follow these prompts:
    • Select your new drive (usually /dev/sda) and press Enter.
    • Choose [Intel] as the partition table type (most laptops use this) and press Enter.
    • Select [Analyze] > [Quick Search] and wait for it to scan the drive.
    • When it lists your partitions, make sure /dev/sda2 is marked as Primary or Logical with NTFS and Windows in the description.
    • Select [Write] to save the corrected partition table, then press Y to confirm.
  4. Reboot and try the earlier steps again.

Why This Happened

When you restored the old partitions to the new drive, Windows' boot configuration (BCD) was still pointing to the old drive's partition UUIDs or sizes. Since the new drive's partitions are larger, this breaks the boot chain—Grub can find the partition, but Windows can't find its own boot files correctly.

备注:内容来源于stack exchange,提问作者The MAJOR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 11:39:32