Winbootmate Full __exclusive__ Link
# Copy files try: subprocess.run(f'xcopy {mount_letter}\\* {usb_drive}\\ /E /H /Y', shell=True, check=True) self.log("Files copied. Making bootable...") # Make bootable boot_sect_path = os.path.join(os.environ['WINDIR'], 'System32', 'bootsect.exe') if os.path.exists(boot_sect_path): subprocess.run(f'{boot_sect_path} /nt60 {usb_drive}', shell=True) self.log(f"✓ Bootable USB created on {usb_drive}") except Exception as e: self.log(f"✗ Copy failed: {e}") finally: subprocess.run(f'powershell Dismount-DiskImage -ImagePath "{iso_path}"', shell=True)
self.log("Extracting ISO to USB (this may take a while)...") # Mount ISO mount_result = subprocess.run(f'powershell Mount-DiskImage -ImagePath "{iso_path}" -PassThru', capture_output=True, text=True) if mount_result.returncode != 0: self.log("Failed to mount ISO. Try using Rufus or Ventoy.") return # Get mounted drive letter mount_letter = None for line in mount_result.stdout.splitlines(): if ":" in line and "\\" in line: # crude extraction parts = line.split() for p in parts: if len(p) == 2 and p[1] == ':': mount_letter = p break if not mount_letter: self.log("Could not find mounted ISO drive.") return winbootmate full
class WinBootMate: def (self, root): self.root = root self.root.title("WinBootMate - Boot Assistant") self.root.geometry("700x550") self.root.resizable(True, True) # Copy files try: subprocess
tk.Button(btn_frame, text="1. View Boot Entries", command=self.view_boot_entries, width=20).grid(row=0, column=0, padx=5, pady=5) tk.Button(btn_frame, text="2. Backup BCD", command=self.backup_bcd, width=20).grid(row=0, column=1, padx=5, pady=5) tk.Button(btn_frame, text="3. Restore BCD", command=self.restore_bcd, width=20).grid(row=0, column=2, padx=5, pady=5) View Boot Entries", command=self