Thảo luận - Tùy chỉnh để winPE load apps và drivers từ file Iso gốc | VN-Zoom | Cộng đồng Chia Sẻ Kiến Thức Công Nghệ và Phần Mềm Máy Tính

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

We need money to operate the site, and almost all of it comes from our online advertising.

If possible, please support us by clicking on the advertisements.

Please add vn-z.vn to your ad blocking whitelist or disable your adblocking software.

×

Thảo luận Tùy chỉnh để winPE load apps và drivers từ file Iso gốc

readcx

Búa Gỗ
Đây là ghi chép quá trình “vọc” của cá nhân. Không phải bản nào làm cũng thành công, vì vậy mọi người cần cân nhắc trước khi “vọc”. Nội dung mở rộng từ cách làm của bạn lvt491 trong bài chỉnh sửa code winpe của Strelec (link). Những chỗ chưa chính xác (nếu có) mong mọi người sửa giúp.

Đã làm thành công với
  • Multiboot của Strelec phiên bản mới nhất 04/2023, ngoại trừ WinPE8
  • Anhdv 23.5 bản miễn phí
  • Nguyễn Phi bản WinPE11Ktv-v6.6-Light-2023
Không thành công với Multiboot 2017 của Tống Đình Phúc.
Bởi vì phần mềm và drivers của bản này đã được đóng gói trong file PETools.iso cho nên việc thử nghiệm chỉ vì nó nhẹ, thao tác nhanh chứ không có ý nghĩa như mục đích ban đầu.
=======================================

Theo cách thông thường, ta phải trích xuất cả WinPe, phần mềm, drivers và một số tập tin khác nếu muốn sử dụng WinPE ở ổ cứng.

Các bản WinPE với drivers và phần mềm thiết kế kiểu rời (như những modul riêng biệt) có ưu điểm rất lớn là dễ tùy biến tùy theo nhu cầu và thói quen của người sử dụng. Có thể dễ dàng thêm, bớt phần mềm và drivers. Hoặc, có thể lưu những phần mềm ít sử dụng trên internet, khi nào sử dụng mới lấy xuống v.v…Tuy nhiên, một số phần mềm của chúng thường bị các chương trình antivirus “làm thịt”. Và, nếu có nhu cầu sử dụng nhiều bản Multiboot khác nhau, vừa giải nén xuống ổ cứng vừa muốn giữ nguyên ISO, dung lượng USB lại nhỏ rất có thể sẽ gây ức chế cho người sử dụng.

Để khắc phục nhược điểm này thì nên tùy chỉnh để winPE load apps và drivers từ file Iso gốc. Dùng batch scipt để mount Iso.

Uu điểm của cách làm này là:
- Đỡ bị antivirus nhòm ngó
- Quản lý file/thư mục gọn gàng hơn
- Giữ nguyên được cấu trúc Iso ban đầu
- Cách làm đơn giản, không cần phải am hiểu code.

Nhược điểm:
- Không phải bản WinPE nào cũng phù hợp (có bản làm được, có bản không).
- Cách làm có thể thiếu tính chuyên nghiệp nếu nhìn từ góc độ chuyên môn.

A. Khái quát
1. Viết batch script, đặt tên là Iso_finder.cmd.
2. Tìm cách cho file này khởi động cùng WinPE
Cách 1. Thả file này vào thư mục startup
Cách 2. Chỉnh sửa registry của winpe
Cách 3. Chỉnh sửa PECMD.ini (chỉ phù hợp với mã nguồn mở).

B. Cách thực hiện
Bước 1. Viết Iso_finder.cmd
Nếu chưa thể tự viết thì có thể tham khảo cách viết ở diễn đàn, internet hoặc tham khảo mẫu dưới đây:
Nội dung iso_finder.cmd
iso_finder_anhdv.jpg




Bước 2. Chạy Iso_finder.cmd cùng WinPE

Cách 1. Thả Iso_finder.cmd vào thư mục startup

Cách dễ nhất là dùng 7zip mở file wim sau đó kéo file bat vào thư mục startup. Trường hợp không có thư mục startup thì tạo thư mục theo đường dẫn dưới đây. Nếu không được thì dùng các phần mềm chỉnh sửa wim, dùng dòng lệnh hoặc viết batch scrip.

Đường dẫn thư mục startup trong file wim: ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
thu-muc-startup.jpg





Bản winPE của Nguyễn Phi không có thư mục startup thì tự tạo cấu trúc thư mục giống như trên:
thu-muc-startup-nguyen-phi.jpg





Cách2. Chỉnh sửa registry
  • Convert Iso_finder.cmd thành Iso_finder.exe
  • Tạo thư mục D:\WimEdit trong này chứa file Wim và Iso_finder.exe
  • Tạo file edit_registry_wim.cmd
edit_registry_wim.jpg




Chạy edit_registry_wim.cmd. sau khi file wim được mount script sẽ tạm dừng. Lúc này ta có thể dùng tính năng load hive của registry để sửa registry của winPE
tam-dung-de-chinh-sua-registry.jpg


  • 1. Chọn HKEY_LOCAL_MACHINE
  • 2. Chọn load hive
  • 3. Chọn đường dẫn đến registry của winPE cần sửa: D: > WimEdit > MountWinPE > Windows > System32 > config >Software
  • 4. Đặt tên trong cửa sổ load hide key name là winPE (có thể đặt tên bất kỳ)
  • 5. Tìm khóa run theo đường dẫn:
    Computer\HKEY LOCAL MACHINE\winpe\Microsoft\Windows\CurrentVersion\Run
  • 6. Bấm chuột phải vào run -> New > String Value. Đặt tên (sửa New Value) là iso_finder.
  • 7. Bấm kép vào khóa iso_finder hiện ra hộp thoại điền vào đường dẫn iso_finder.exe là %windir%\system32\iso_finder.exe
  • 8. Làm xong thì unload Hive
Hình minh họa các bước chỉnh registry

1. Chọn HKEY_LOCAL_MACHINE
reg1.jpg


2. Chọn load hive
reg2.jpg



3. Chọn đường dẫn đến registry của winPE cần sửa
reg3.jpg




4. Đặt tên trong cửa sổ load hide key name là winPE
reg4.jpg


5. Tìm khóa run theo đường dẫn
reg5.jpg




6. Bấm chuột phải vào run -> New > String Value. Đặt tên (sửa New Value) là iso_finder

reg7.jpg




7. Bấm kép vào khóa iso_finder hiện ra hộp thoại điền vào đường dẫn iso_finder.exe là %windir%\system32\iso_finder.exe
reg7b.jpg


Kết quả
reg8.jpg





8. Unload Hive để lưu kết quả registry đã chỉnh sửa
9.-unload-hive.jpg




9. Bấm phím bất kỳ để tiếp tục, scrip edit_registry_wim.cmd sẽ lưu thành quả vào file wim

Cuối cùng, sử dụng file wim này để khởi động cùng hệ thống hoặc làm usb boot.



Cách3. Chỉnh sửa pecmd.ini
Chúng ta tìm bài viết của bạn lvt491 ở diễn đàn này.

Link (mediafire) batch script sử dụng trong bài viết.
 
Sửa lần cuối:

readcx

Búa Gỗ
Nhìn có vẻ cũng hơi lằng nhằng nhỉ. Mình đang dùng app winpeboot của bác nào trên diễn đàn khá nhanh, cho file wim với app là xong.
Lằng nhằng có lẽ là do bước cho chạy iso_finder từ registry. Nếu không convert qua exe cho chạy trực tiếp từ batch scrip thì đỡ thêm được 1 công đoạn. Có điều (chỉ là cảm nhận chủ quan) convert qua exe thì độ trễ giảm đi một chút (chạy nhanh hơn).
 

alaky

Rìu Sắt
Bác nào biết code 1 click mà copy hay đẩy file dll , file exe bay thẳng vô System32 không vậy :D
%SystemDrive%\Windows\System32

Xin lưu ý là file được kích hoạt nằm ngoài folder %Windir%\System32
 

alaky

Rìu Sắt
Tạo file bat hay cmd là được rồi 😂

Mã:
copy /y D:\file.exe X:\Windows\System32
Bạn thử tét trên WinPE cho code đó load chạy cùng tiến trình pecmd.ini rồi chạy xem trước khi vào màn hình desktop xem file.exe ở ổ D được copy sang %Windir%\System32
Không nha!
#4 mình đã ghi code rõ vậy rồi chắc bạn đã biết mình test qua thế nào 🙂
 

hanhtrung92

Búa Gỗ Đôi
Bạn thử tét trên WinPE cho code đó load chạy cùng tiến trình pecmd.ini rồi chạy xem trước khi vào màn hình desktop xem file.exe ở ổ D được copy sang %Windir%\System32
Không nha!
#4 mình đã ghi code rõ vậy rồi chắc bạn đã biết mình test qua thế nào 🙂
Bạn phải dùng tham số WAIT thì nó mới chờ lệnh xong nó mới chạy lệnh khác chứ, code pecmd bạn viết như nào :)

Mà cái pecmd nó có lệnh FILE đó dùng lệnh đó mà cóp bạn, nó chờ cóp xong nó mới chạy lệnh khác.
 
Sửa lần cuối:

alaky

Rìu Sắt
Bạn phải dùng tham số WAIT thì nó mới chờ lệnh xong nó mới chạy lệnh khác chứ, code pecmd bạn viết như nào :)

Mà cái pecmd nó có lệnh FILE đó dùng lệnh đó mà cóp bạn, nó chờ cóp xong nó mới chạy lệnh khác.
Bạn nên làm thử thấy rõ kết quả rồi hãy nói cũng chưa muộn mà. Soft 1 click mình đã chia sẻ qua rồi, add thêm link dẫn như #4 thì có khác gì copy file vào System32 không bạn?
Ở đây mình không ám chỉ là click bằng chuột, mà lợi dụng tiến trình load file của winpe cho nó chạy song song.
 

hanhtrung92

Búa Gỗ Đôi
Bạn nên làm thử thấy rõ kết quả rồi hãy nói cũng chưa muộn mà. Soft 1 click mình đã chia sẻ qua rồi, add thêm link dẫn như #4 thì có khác gì copy file vào System32 không bạn?
Ở đây mình không ám chỉ là click bằng chuột, mà lợi dụng tiến trình load file của winpe cho nó chạy song song.
Bạn nói mấy cái hông thực tế, Microsoft nó cũng hông làm được. Nó phải chạy theo thứ tự chứ bạn nói nó chạy song song sao được, rồi biết cái này xong trước cái nào xong sau.
Bạn phải thêm vào pecmd.ini để chạy theo trình tự, làm gì cũng an toàn đúng theo nguyên tắc nó mới ổn được.
Còn bạn nói mình test, mình đã test vs code cũng hông phải ít, nhiều trường hợp mình biết nó lỗi. Nói cho bạn thì bạn cứ cãi cãi, thôi mình sai :)
 

Sakutaza

Rìu Sắt
Đây là ghi chép quá trình “vọc” của cá nhân. Không phải bản nào làm cũng thành công, vì vậy mọi người cần cân nhắc trước khi “vọc”. Nội dung mở rộng từ cách làm của bạn lvt491 trong bài chỉnh sửa code winpe của Strelec (link). Những chỗ chưa chính xác (nếu có) mong mọi người sửa giúp.

Đã làm thành công với
  • Multiboot của Strelec phiên bản mới nhất 04/2023, ngoại trừ WinPE8
  • Anhdv 23.5 bản miễn phí
  • Nguyễn Phi bản WinPE11Ktv-v6.6-Light-2023
Không thành công với Multiboot 2017 của Tống Đình Phúc.
Bởi vì phần mềm và drivers của bản này đã được đóng gói trong file PETools.iso cho nên việc thử nghiệm chỉ vì nó nhẹ, thao tác nhanh chứ không có ý nghĩa như mục đích ban đầu.
=======================================

Theo cách thông thường, ta phải trích xuất cả WinPe, phần mềm, drivers và một số tập tin khác nếu muốn sử dụng WinPE ở ổ cứng.

Các bản WinPE với drivers và phần mềm thiết kế kiểu rời (như những modul riêng biệt) có ưu điểm rất lớn là dễ tùy biến tùy theo nhu cầu và thói quen của người sử dụng. Có thể dễ dàng thêm, bớt phần mềm và drivers. Hoặc, có thể lưu những phần mềm ít sử dụng trên internet, khi nào sử dụng mới lấy xuống v.v…Tuy nhiên, một số phần mềm của chúng thường bị các chương trình antivirus “làm thịt”. Và, nếu có nhu cầu sử dụng nhiều bản Multiboot khác nhau, vừa giải nén xuống ổ cứng vừa muốn giữ nguyên ISO, dung lượng USB lại nhỏ rất có thể sẽ gây ức chế cho người sử dụng.

Để khắc phục nhược điểm này thì nên tùy chỉnh để winPE load apps và drivers từ file Iso gốc. Dùng batch scipt để mount Iso.

Uu điểm của cách làm này là:
- Đỡ bị antivirus nhòm ngó
- Quản lý file/thư mục gọn gàng hơn
- Giữ nguyên được cấu trúc Iso ban đầu
- Cách làm đơn giản, không cần phải am hiểu code.

Nhược điểm:
- Không phải bản WinPE nào cũng phù hợp (có bản làm được, có bản không).
- Cách làm có thể thiếu tính chuyên nghiệp nếu nhìn từ góc độ chuyên môn.

A. Khái quát
1. Viết batch script, đặt tên là Iso_finder.cmd.
2. Tìm cách cho file này khởi động cùng WinPE
Cách 1. Thả file này vào thư mục startup
Cách 2. Chỉnh sửa registry của winpe
- Viết batch scrip chỉnh sửa file wim
- Chỉnh sửa registry của file wim
Cách 3. Chỉnh sửa PECMD.ini (chỉ phù hợp với mã nguồn mở).

B. Cách thực hiện
1. Đối với Iso_finder.cmd, nếu chưa thể tự viết thì có thể tham khảo cách viết ở diễn đàn, internet hoặc tham khảo mẫu dưới đây:
Nội dung iso_finder.cmd
iso_finder_anhdv.jpg



2a. Cách thả Iso_finder.cmd vào thư mục startup
Cách dễ nhất là dùng 7zip mở file wim sau đó kéo file bat vào thư mục startup. Trường hợp không có thì tạo thư mục theo cấu trúc trên. Nếu không được thì dùng các phần mềm chỉnh sửa wim, dùng dòng lệnh hoặc viết batch scrip.

Đường dẫn thư mục startup trong file wim: ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
thu-muc-startup.jpg





Bản winPE của Nguyễn Phi không có thư mục startup thì tự tạo cấu trúc thư mục giống như trên:
thu-muc-startup-nguyen-phi.jpg





2b. Chỉnh sửa registry
  • Convert Iso_finder.cmd thành Iso_finder.exe
  • Tạo thư mục D:\WimEdit trong này chứa file Wim và Iso_finder.exe
  • Nội dung edit_registry_wim.cmd:
edit_registry_wim.jpg




Chạy edit_registry_wim.cmd. sau khi file wim được mount script sẽ tạm dừng. Lúc này ta có thể dùng tính năng load hive của registry để sửa registry của wim
tam-dung-de-chinh-sua-registry.jpg


  • 1. Chọn HKEY_LOCAL_MACHINE
  • 2. Chọn load hive
  • 3. Chọn đường dẫn đến registry của winPE cần sửa: D: > WimEdit > MountWinPE > Windows > System32 > config >Software
  • 4. Đặt tên trong cửa sổ load hide key name là winPE (có thể đặt tên bất kỳ)
  • 5. Tìm khóa run theo đường dẫn:
    Computer\HKEY LOCAL MACHINE\winpe\Microsoft\Windows\CurrentVersion\Run
  • 6. Bấm chuột phải vào run -> New > String Value. Đặt tên (sửa New Value) là iso_finder.
  • 7. Bấm kép vào khóa iso_finder hiện ra hộp thoại điền vào đường dẫn iso_finder.exe là %windir%\system32\iso_finder.exe
  • 8. Làm xong thì unload Hive
Hình minh họa các bước chỉnh registry

1. chọn HKEY_LOCAL_MACHINE
reg1.jpg


2. Chọn load hive
reg2.jpg



3. Chọn đường dẫn đến registry của winPE cần sửa
reg3.jpg




4.Đặt tên trong cửa sổ load hide key name là winPE
reg4.jpg


5. Tìm khóa run theo đường dẫn
reg5.jpg




6. Bấm chuột phải vào run -> New > String Value. Đặt tên (sửa New Value) là iso_finder

reg7.jpg




7. Bấm kép vào khóa iso_finder hiện ra hộp thoại điền vào đường dẫn iso_finder.exe là %windir%\system32\iso_finder.exe
reg7b.jpg


Kết quả
reg8.jpg





8. Unload Hive để lưu kết quả registry đã chỉnh sửa
9.-unload-hive.jpg




9. Bấm phím bất kỳ để tiếp tục, scrip edit_registry_wim.cmd sẽ lưu thành quả vào file wim

Cuối cùng, sử dụng file wim này để khởi động cùng hệ thống hoặc làm usb boot.



2c. Chỉnh sửa pecmd.ini
Chúng ta tìm bài viết của bạn lvt491 ở diễn đàn này.

Link (mediafire) batch script sử dụng trong bài viết.
Thank you for sharing
Cách làm của bạn dài dòng quá
Với tôi chỉ cần 1 file.cmd cũng ổn rồi
Như bạn đã trình bày đầu tiên phải xác định có file.iso chưa,đã cài imdisk chưa?
Nếu đã đủ đk rồi thì mount ra ổ ảo tiến hành cài(Tôi thì không mount ra Y:\ mà ra ổ có ký tự ngẫu nhiên.Cài xong lại unmount cho gọn)
 

alaky

Rìu Sắt
Bạn nói mấy cái hông thực tế, Microsoft nó cũng hông làm được. Nó phải chạy theo thứ tự chứ bạn nói nó chạy song song sao được, rồi biết cái này xong trước cái nào xong sau.
Bạn phải thêm vào pecmd.ini để chạy theo trình tự, làm gì cũng an toàn đúng theo nguyên tắc nó mới ổn được.
Còn bạn nói mình test, mình đã test vs code cũng hông phải ít, nhiều trường hợp mình biết nó lỗi. Nói cho bạn thì bạn cứ cãi cãi, thôi mình sai :)
Cần thiết mình gửi bản pe thử để bạn test. Do bạn chưa hình dung ra cách làm thôi.
Click bằng chuột còn nói làm gì nữa bạn.
Vào được winpe rồi click nói làm gì nữa.
Cái cốt lỏi là để nó tự chạy cùng các tiến trình cmd khác. Còn việc winpe người ta dùng pecmd.ini hay file nào tên khác là tùy người build. Miễn làm sao để 1 file như mình nói ở #4 chạy cùng tiến trình cmd khác là được.
Cái gốc là lệnh copy hay chỉ ĐÍCH DANH THƯ MỤC SYSTEM32 nó cũng không cho phép đẩy file vào đó.
 

readcx

Búa Gỗ
Thank you for sharing
Cách làm của bạn dài dòng quá
Với tôi chỉ cần 1 file.cmd cũng ổn rồi
Như bạn đã trình bày đầu tiên phải xác định có file.iso chưa,đã cài imdisk chưa?
Nếu đã đủ đk rồi thì mount ra ổ ảo tiến hành cài(Tôi thì không mount ra Y:\ mà ra ổ có ký tự ngẫu nhiên.Cài xong lại unmount cho gọn)
Việc kéo thả file bat vào thư mục Startup của một số bản winPE không thành công nên tôi cho chạy thử từ registry xem có được không. Ban đầu, việc chỉnh sửa registry cũng tự động bằng file bat nhưng không hiểu sao không load được iso mặc dù script báo ok. Vì vậy phải chỉnh sửa registry thủ công. Làm thì nhanh nhưng trình bày thì trông khá dài dòng.

edit_registry_ver_1.jpg
 
Sửa lần cuối:

hanhtrung92

Búa Gỗ Đôi
Cần thiết mình gửi bản pe thử để bạn test. Do bạn chưa hình dung ra cách làm thôi.
Click bằng chuột còn nói làm gì nữa bạn.
Vào được winpe rồi click nói làm gì nữa.
Cái cốt lỏi là để nó tự chạy cùng các tiến trình cmd khác. Còn việc winpe người ta dùng pecmd.ini hay file nào tên khác là tùy người build. Miễn làm sao để 1 file như mình nói ở #4 chạy cùng tiến trình cmd khác là được.
Cái gốc là lệnh copy hay chỉ ĐÍCH DANH THƯ MỤC SYSTEM32 nó cũng không cho phép đẩy file vào đó.
Từ cái #4 mà bạn vẽ vời ra lắm thứ thế, thế mỗi lần mình trả lời bạn là bạn lại vẽ ra cái vấn đề khâc à? Copy là copy còn bạn chạy nó bằng gì đó là việc của bạn chứ ai có thể làm ra cái chương trình mà nó tự chạy được? Nó chạy là hệ thống gọi nó chạy hoặc chương trình khác gọi nó chạy chứ nó không tự chạy được.

Còn cái file bat hay cmd nó chạy cùng với cmd khác là chuyện bình thường thui chứ Windows đâu có cản trở nó chạy? Còn lệnh đó là để cóp file được hay không được nhiều người biết rõ :) Có 1 trường hợp hông cóp được đó là file trong đó đã có rồi và đang bị lock bởi hệ thống hay app khác thì nó không đè được :)
 

Sakutaza

Rìu Sắt
Việc kéo thả file bat vào thư mục Startup của một số bản winPE không thành công nên tôi cho chạy thử từ registry xem có được không. Ban đầu, việc chỉnh sửa registry cũng tự động bằng file bat nhưng không hiểu sao không load được iso mặc dù script báo ok. Vì vậy phải chỉnh sửa registry thủ công. Làm thì nhanh nhưng trình bày thì trông khá dài dòng.

edit_registry_ver_1.jpg
Bạn cần phải kt xem đã cài thành công imdisk chưa?.Chưa cài thì chạy lệnh cài
Nếu chưa cài thành công thì mount file.iso bằng niềm tin
 


Top