Ответы пользователя по тегу Windows
  • Как удалить неудаляемую папку?

    robux
    @robux
    Загрузиться с USB-флешки Linux и удалить (я так делаю).
    Ответ написан
    Комментировать
  • BootMgr в Windows 7 привязывается к железу через C:\Boot\BCD?

    robux
    @robux Автор вопроса
    Проблема решена. Делюсь опытом.

    Я все ОСи (Linux, WinXP, Win7) клонирую через архивы *.tar.gz, загружаясь в линуксе с флэшки.
    Сидеть и целыми днями сюсюкаться с мастерами, затрачивая как обезьяна по 2 часа на комп - мне как-то не стреляет. К тому же в готовых образах уже установлены все программы - офисы, просмотрщики, сделаны настройки рабочего окружения и так далее.

    1. Linux.
    С линуксом проще всего - он не привязывается к железу.
    Пакуешь папки ./tar_root.sh:
    #!/bin/sh
    cd /
    tar --ignore-failed-read --exclude=var/cache/apt -czvf lubuntu1204.tgz bin boot etc home lib opt root run sbin usr var

    Потом распаковываешь, ставишь grub и готово (скрипт ниже).

    2. WinXP
    Хрюшу легко "отвязать" от железа: загружаешься в Безопасном режиме (по F8 в самом начале), заходишь в "Диспетчер устройств", удаляешь всё, что связано с чипчетом (например "Intel 45111"), жёстко выключаешь комп ВЫДЕРНУВ ШНУР питания из жопки, загружаешься в линуксе, правишь файл C:\Boot.ini:
    [boot loader]
    timeout=3
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP disk 1 part 1" /noexecute=optin /fastdetect
    multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Windows XP disk 2 part 1" /noexecute=optin /fastdetect
    multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows XP disk 1 part 2" /noexecute=optin /fastdetect
    multi(0)disk(0)rdisk(1)partition(2)\WINDOWS="Windows XP disk 2 part 2" /noexecute=optin /fastdetect
    multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional Multiprocessor PC"  /fastdetect /noexecute=alwaysoff /hal=halmacpi.dll /kernel=ntkrnlmp.exe
    multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional"  /fastdetect /noexecute=alwaysoff /detecthal
    multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Multiprocessor PC with MPS"  /fastdetect /noexecute=alwaysoff /hal=halmps.dll /kernel=ntkrnlmp.exe

    и пакуешь всё это дело ./tar_win.sh:
    #!/bin/sh
    cd /mnt/win
    tar --ignore-failed-read --exclude=Windows/Temp -czvf winxp.tar.gz WINDOWS "Documents and Settings" "Program Files" AUTOEXEC.BAT Bootfont.bin CONFIG.SYS IO.SYS MSDOS.SYS NTBOOTDD.SYS NTDETECT.COM boot.ini ntldr

    Распаковываешь на новой машине из-под линукс, обновляешь груб:
    update-grub
    и готово.

    3. Windows 7
    Похоже на WinXP, но в безопасном режиме ПЕРЕД удалением чипсетов из Диспетчера устройств нужно ПОПРАВИТЬ РЕЕСТР (запустить regedit), чтобы избежать синего экрана BSOD 0x0000007B, цитирую первоисточник:

    Первым делом необходимо удалить ветку реестра HKLM\SYSTEM\MountedDevices.

    Теперь нужно включить запуск сервисов, загружающих стандартные драйвера контроллеров IDE и SATA.
    Открываем ветку HKLM\SYSTEM\CurrentControlSet\services в левой части редактора реестра. Теперь проверяем следующие разделы в этой ветке: amdide, amdsata, amdxata, atapi, intelide, msahci, pciide. Параметр Start у каждого должен быть равен 0х00000000 (0). Значение Start=0 - запуск сервиса при загрузке Windows. Если он равен 0х00000003 (3) щелкаем два раза на имя параметра (Start) и меняем значение на 0 (рисунок ниже) и нажимаем ОК.

    После того, как start будет установлен в значение 0 у всех указанных выше разделов реестра, закрываем редактор реестра и перезагружаем компьютер в обычном режиме. В большинстве случаев этого достаточно...

    Если проделанные действия не помогли и Windows 7 все равно не загружается и выдает ошибку STOP 0x0000007b, значит необходимый драйвер контроллера не загружается. Попробуем включить загрузку всех известных операционной системе драйверов.

    Для этого ставим значение параметра Start равным 0 в следующих сервисах: adp94xx, adpahci, adpu320, aic78xx, amdsbs, arc, arcsas, elxstor, HpSAMD, iaStorV, iirsp, LSI_FC, LSI_SAS, LSI_SAS2, LSI_SCSI, megasas, MegaSR, nfrd960, nvraid, nvstor, ql2300, ql40xx, SiSRaid2, SiSRaid4, vhdmp, vsmraid, aliide, cmdide, nvraid, viaide.

    Я включил первую пачку сервисов, а из второй - только оканчивающиеся на *ide.

    Потом питание системника тоже жёстко вырубаем, загружаемся в линукс, ПОДСОВЫВАЕМ C:\Boot\BCD, дополненный с помощью EasyBCD и подправленный через VisualBCDEditor, пакуем всё это барахло ./tar_win7.sh:
    #!/bin/sh
    
    cd /mnt/win
    tar --ignore-failed-read --exclude=var/cache/apt -czvf /mnt/data/Distr/Win7_x32.Gor.emp3.delink.tar.gz bootmgr \
      config.sys XELDZ autoexec.bat BOOTSECT.BAK Boot Windows Recovery "Program Files" ProgramData \
      "Documents and Settings" Users PerfLogs Progs

    Распаковываем (как и Хрюшу) на другом компе, запускаем update-grub и заменяем строчку в файле /boot/grub/grub.cfg:
    chainloader +1
    на:
    ntldr /bootmgr
    С первым вариантом Windows7 грузится не на всех машинах.

    Я щас везде ставлю Linux (Lubuntu), Grub2 и винду по желанию юзера. Всё делаю через скрипт ./install.sh, предварительно подправив пути дисков и папок:
    #!/bin/sh
    
    INST_DEV=/dev/sdb1
    INST_MNT=/mnt/vdorogu
    
    BOOT_DISK=/dev/sda
    
    LIN_DEV=/dev/sda3
    LIN_MNT=/mnt/root
    
    WIN_DEV=/dev/sda1
    WIN_MNT=/mnt/win
    
    ## For Ext4
    #tune2fs -o journal_data_writeback $LIN_DEV
    #tune2fs -O ^has_journal $LIN_DEV
    #e2fsck -f $LIN_DEV
    
    ## === Mount parts
    
    #mkdir $INST_MNT
    #mount $INST_DEV $INST_MNT
    #mkdir $LIN_MNT
    #mount $LIN_DEV $LIN_MNT
    #mkdir $WIN_MNT
    #mount $WIN_DEV $WIN_MNT
    
    ## === Install Linux
    
    cd $INST_MNT
    
    tar xvzfk ./iso/lubuntu1204.tar.gz -C $LIN_MNT
    
    cd $LIN_MNT
    
    mkdir cdrom
    mkdir dev
    mkdir media
    mkdir mnt
    mkdir mnt/win
    mkdir proc
    mkdir sys
    mkdir tmp
    
    chmod 777 tmp
    chmod 777 home
    
    grub-install --root-directory=$LIN_MNT $BOOT_DISK
    mount --bind /dev $LIN_MNT/dev
    mount --bind /proc $LIN_MNT/proc
    mount --bind /sys $LIN_MNT/sys
    
    chroot $LIN_MNT grub-install --recheck --no-floppy $BOOT_DISK
    chroot $LIN_MNT update-grub
    
    umount $LIN_MNT/dev
    umount $LIN_MNT/proc
    umount $LIN_MNT/sys
    
    ## === Install Windows
    
    cd $INST_MNT
    
    tar xvzf ./iso/winxp3sp3dnet.tar.gz -C $WIN_MNT
    #tar xvzf ./iso/win7gor32.tar.gz -C $WIN_MNT
    
    # === Edit fstab
    
    nano $LIN_MNT/etc/fstab


    Времени экономится куча, особенно полезно, если нужно быстро систему восстановить.
    Любая ОС ставится за 5 минут (распаковка архива) без обезьяних действий.
    Ответ написан