Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Windows 7 - bootowalny pendrive uruchamiający wiersz polecenia i skrypt

17 Gru 2014 00:34 6978 10
  • Poziom 6  
    Witam

    Chciałbym zrobić bootowalnego pendrive z ... I tu jest właśnie problem
    Pendrive ma się uruchamiać w wersji wiersza poleceń Win7 obsługującego Diskpart (nie jak standardowo instalka Windowsa) i dodatkowo w wierszu komenda która automatycznie odtworzy plik bat

    Bootowalnego pendrive wiem jak zrobić a z tym nie ma problemu.

    Proszę o pomoc, jakieś sugestie jak to wykonać.
    Może są jakieś gotowe programy które wyodrębniają z całej instalki cześć w jakiej wersji ma być uruchomiony system

    Wiem ze da się uruchomić wiersz poleceń jeśli jest cała instalka. W trakcie instalacji klika się: napraw system a tam z menu jest uruchom wiersz poleceń.
  • Poziom 36  
    A czemu chcesz koniecznie wiersza poleceń Windows7?
    Czemu nie może być wiersz poleceń z WindowsXP?
  • Poziom 6  
    Dziękuję za zainteresowanie się tematem.
    Już wyjaśniam:
    1 Pierwsza sprawa to taka ze diskpart z xp nie rozpoznaje pena prawidłowo.
    2 Czyszczenie dysków za pomocą tego programu.
    3 Później "odinem" wrzucam obraz windowsa
    Ale mogę spróbować wersje z xp
  • VIP Zasłużony dla elektroda
    Z nośnika instalacyjnego Windows 7 można zrobić taki pendrive
    - jak nie będziesz z niego instalował to zostawiasz na nim foldery, pliki:
    \boot
    \EFI
    \sources <- a z tego folderu wywalasz wszystko poza boot.wim a ten plik trzeba zmodyfikować np. za pomocą 7-Zip
    \bootmgr

    Jeśli pendrive ma startować w trybie UEFI to ma być sformatowany FAT32, używasz nośnika Windows 7 64-bit i warto zrobić małe modyfikacje w folderze \EFI

    Jak nie masz nośnika instalacyjnego to za darmo masz WAIK i to już jest PE - po załadowaniu od razu dostajesz Wiersz polecenia
    http://www.microsoft.com/pl-pl/download/details.aspx?id=5753
    (obrazy na obie architektury)

    Include a Custom Script in a Windows PE Image napisał:
    Windows PE provides three methods for launching custom scripts: Winpeshl.ini, Startnet.cmd, and Unattend.xml. The Windows PE default interface is a Command Prompt window. However, you can create a customized Winpeshl.ini file to run your own shell application. You can also create your own version of Startnet.cmd to run a specific set of commands, batch files, or scripts. Unattend.xml is a new answer file format for Windows PE 2.0, which replaces Winbom.ini and Winpeoem.sif.


    Ten http://odin-win.sourceforge.net/ :?:
    Z tego co piszą to działa pod PE i jest dostępna wersja 64-bit.
  • Poziom 6  
    Dziękuję Panie WojtasJD
    Widzę że wie Pan o co chodzi.
    Czyli tak mam skopiować z płyty instalacyjnej win7 64 bit podane przez ciebie pliki
    I po uruchomieniu ma się uruchomić w trybie wiersza poleceń? czy tak?
    Pendrive przygotować w wersji fat-32.
    Co wiecej można/trzeba skonfigurowac?
    Proszę o wytłumaczenie o co chodzi z tym efi tzn co w nim się konfiguruje?
  • VIP Zasłużony dla elektroda
    Otwierasz za pomocą 7-Zip plik: \sources\boot.wim i wypakowywujesz z obrazu plik ...\Windows\Boot\EFI\bootmgfw.efi do stworzonego na pendrive podfolderu \EFI\Boot\ i na koniec zmieniasz mu nazwę na bootx64.efi

    Jak na dzień dobry ma się uruchomić wiersz polecenia to można np. stworzyć notatnikiem plik winpeshl.ini z:

    [LaunchApps]
    %SystemRoot%\system32\wpeinit.exe
    %SystemRoot%\system32\cmd.exe


    i dodać go do drugiego obrazu w boot.wim -> \Windows\system32\
  • Poziom 6  
    Nie bardzo rozumiem co znaczy dodać do drugiego obrazu?
    Sprawdzałem pliki w boot.wim ->\Windows\system32\"winpeshl.ini" tam takiego pliku nie ma. Jest ale winpeshl.exe
    Rozumiem ze mam wypakować boot.wim z oryginalnej instalik win7 dodać plik winpesh.ini z zawartością tą co podałeś i ponownie spakować jako boot.wim i skopiować na pendrive. czy tak?

    A jak dodać wpis do cmd.exe aby od razu pojawił się w linii wiersza nazwa pliku xxx.bat i z automatu się otworzył plik?
  • VIP Zasłużony dla elektroda
    Jak otwierałeś za pomocą 7-Zip plik boot.wim to pewnie widziałeś dwa 'foldery'/indeksy 1 i 2 - to są te dwa obrazy.

    boot.wim nie pakuj/wypakowywuj, po prostu otwórz i przeciągaj w odpowiedni podfolder pliki, kasuj czy edytuj.

    winpeshl.ini <- standardowo nie ma, trzeba sobie zrobić notatnikiem

    [LaunchApps]
    %SystemRoot%\system32\wpeinit.exe
    %SystemRoot%\system32\cmd.exe, "/k %SystemRoot%\system32\xxx.bat"


    - po załadowaniu wpeinit.exe (przetwarzanie - jak jest - *.xml, inicjowanie dostępu do sieci, instalowanie urządzeń PNP itd.) uruchomienie przez interpreter poleceń %SystemRoot%\system32\xxx.bat (lokalizacja może być inna, ten *.bat trzeba tam wcześniej umieścić analogicznie jak winpeshl.ini) i kontynuowanie...
  • Poziom 6  
    Po utworzeniu pliku winpeshl.ini i próby przeciągnięcia w odpowiedni folder, program 7-zip wyrzuca komunikat:"operacja nie jest obsługiwana dla tego folderu".
    Więc rozpakowałem archiwum "boot.wim" i dorzuciłem wyżej wymieniony plik i ponownie utworzyłem archiwum.
    Uruchomiłem takiego pendrive to pasek "biały" ładowania doszedł do końca.
    Później wyskoczył komunikat brak pliku i wyrzucił ścieżkę: "windows\system32\winload.exe."
    Sprawdzałem jest taki plik i w folderze nr: "1" jak i "2"
    Więc nie wiem w czym problem

    Tym bardziej ze próbowałem wrzucić plik oryginalny z płyty boot.wim to jak najbardziej działa prawidłowo, tzn win. ładuje sie do momentu okienkowego tam klikam "napraw" i wybieram uruchom w trybie "linii wiersza" wpisuje diskpart i wszystko "śmiga"
    Tylko dodam plik: winpeshl.ini to coś nie halo. Nawet ten pasek "biały" wolniej się ładuje.

    Przyznam ze nie wiem co robi plik winpeshl.ini, i próbowałem dodać linijkę w tym pliku:
    [LaunchApps]
    %SystemRoot%\system32\winload.exe
    %SystemRoot%\system32\wpeinit.exe
    %SystemRoot%\system32\cmd.exe, "/k %SystemRoot%\system32\xxx.bat
    i przeprowadziłem próby z umieszczonym plikiem w folderze 2 jak i 1
    Ale raczej nie tędy droga gdyż ten sam komunikat o braku dostępu do pliku winload.exe
  • Pomocny post
    VIP Zasłużony dla elektroda
    Nie przepakowywuj tylko dodaj - najnowszy 7-Zip sobie poradzi.
    Jak otwierasz cudzysłów to go trzeba zamknąć <- przy takich błędach szybko tego nie skończysz...
    Linijka z winload.exe jest zupełnie bez sensu <- usuń.
  • Poziom 6  
    Witam ponownie
    Dziekuję Panie "WojtasJD" Jest Pan Wielki
    Wszystko zadziałało

    Podsumowując jeśliś by ktoś potrzebował utworzyć bootowalny pendrive z bezpośrednim dostępem do wiersza polecenia lub automatycznym uruchomieniem skryptu na przykład w formie xxx.bat lub programu exe

    O to przepis: (całość zajmuje ok 200mb na bootowalnym pendrivie +program)

    1. Przygotowujesz pendriva botowalnego za pomocą diskpart w systemie tylko win7
    tzn:
    - cmd
    - diskpart
    - wpisujesz komendę: list disk
    - wybierasz odpowiedni dysk (pendrive rozpoznajesz po wielkości w mb) wpisując: select disk x (gdzie x to numer dysku)
    - clean
    - create partition primary
    - list volume
    - select volume x (rozpoznajesz po wielkości w mb) ( x to numer volume)
    - format "fs=ntfs" lub "fs=fat32" mozna dopisać "quick" - szybkie formatowanie
    - active
    - assign - system przypisuje literke

    2. Po tak przygotowanym botowalnym pendrive
    kopiujesz foldery z płyty win7:
    \boot
    \EFI
    \sources <- a z tego folderu wywalasz wszystko poza boot.wim a ten plik trzeba zmodyfikować za pomocą 7-Zip ver. 9.35
    \bootmgr <- plik

    3. Przygotowanie pliku ini dzięki któremu automatycznie odpalisz to co potrzebujesz, np: Odi, Total Command, linie wiersza poleceń, diskpart lub skrypt bat.

    W notatniku piszesz:

    [LaunchApps]
    %SystemRoot%\system32\wpeinit.exe
    %SystemRoot%\system32\cmd.exe, "/k %SystemRoot%\system32\xxx.bat"

    i zapisujesz jako: winpeshl.ini

    tak przygotowny plik dodajesz do archiwum za pomocą 7-zip na pendrive bootowalnym w drugim folderze sources\boot.wim -> \Windows\system32\

    W linijce ustawiasz co ma być uruchomione:
    %SystemRoot%\system32\cmd.exe - wiersz poleceń
    %SystemRoot%\system32\cmd.exe, "/k %SystemRoot%\system32\diskpart - uruchamia diskpart
    %SystemRoot%\system32\cmd.exe, "/k %SystemRoot%\system32\xxx.bat" - w miejsce xxx.bat wpisujesz nazwę uruchamianego programu (program musi być dodany do archiwum np tam gdzie plik winpeshl.ini

    Poradnik powstał w szczególności dzięki Panu WojtasJD któremu serdecznie dziękuje
    Pozdrawiam dawidp333

    Dodano po 17 [minuty]:

    Mam jeszcze pytanie
    nie wiem czy mogę kontynuować w tym temacie ale
    A więc chodziło program diskpart i obsługiwanie skryptów
    Tzn tworzę plik bat on uruchamia diskpart z obsługą skryptu xxx.txt w skrypcie komenda list disk.
    I wszystko ok ale wyniku nie jestem wstanie zobaczyć bo diskpart automatycznie się zamyka.
    Wpisywanie pause w pliku bat nic nie daje.
    Czy masz jakiś pomysł