Thảo luận  Tìm hiểu thêm một số USB Boot khác, mời bạn đóng góp ý kiến

Hoang Duch2
Chào các bạn thành viên, topic này được mở ra để chia sẻ hình ảnh và cách tạo boot cho các bản boot khác mà ta thường thấy trên mạng ngoài 2 bản boot chính đang có trên diễn đàn. Tôi thì khả năng có hạn, chỉ biết chia sẻ lại hình ảnh và một ít cách làm vụn vặt, tôi mong là có nhiều bạn sẽ thông cảm và hổ trợ, góp ý thêm cho topic. Cảm ơn bác @@sec0 và cháu @haxoma đã góp ý cho tôi mở thêm topic này.

Mở đầu thì qua giới thiệu của @haxoma về bản COMSS USB BOOT, tôi có tìm hiểu thì thấy người ta giới thiệu về nó từ đây, nó không có WinPE, chỉ toàn là tổng hợp các file ISO về Antivirus, Ultilites ....



https://www.nsaneforums.com/topic/359164-comss-boot-usb-201911/


Summary:
The bootable USB flash drive COMSS Boot USB contains anti-virus scanners for checking and treating computers and laptops, as well as utilities for checking equipment and working with HDD and SSD drives





This Boot CD Contains:
Antivirus Utilities:


  • Antivirus Live CD 31.0-0.102.0 (2019, zk1234) - Console antivirus scanner ClamAV.
  • Avira Rescue System (2016-09-16, Avira Operations) - Ubuntu OS with Avira antivirus scanner, file manager, web browser, Gparted, RegEdit. Online update.
  • Comodo Rescue Disk (2013-04-16, Comodo Group) - Linux OS with an antivirus scanner Comodo, file manager and web browser. Online update.
  • Dr.Web LiveDisk (2019-11-24, Доктор Веб) - Linux OS with Dr.Web anti-virus scanner, file manager and web browser. Online update.
  • ESET SysRescue (2019-06-07, ESET) - Linux OS with ESET SysRescue antivirus scanner , file manager, web browser, Gparted. Online update.
  • F-Secure Rescue CD (2014-09-01, F-Secure) - Antivirus scanner F-Secure. Online update.
  • Kaspersky Rescue Disk (2019-11-24, Kaspersky Lab) - Linux OS with Kaspersky Anti-Virus scanner, file manager, web browser, RegEdit. Online update.
  • Norton Bootable Recovery Tool (2019-07-08, Symantec) - Linux OS with Norton antivirus scanner, file manager and web browser. Online update.
  • Sophos Bootable (2019-11-24, Sophos) - Bootable Anti-Virus Sophos.
  • Tencent Rescue Disk (2017-05-17, Tencent) - Linux OS with Tencent anti-virus scanner, file manager, web browser, RegEdit, FixMBR.
  • Windows Defender Offline (2019-11-24, Microsoft) - Antivirus scanner Windows Defender Offline. Online update.

HDD/SSD Utilities:


  • AOMEI Backupper 4.0.3 (2017, AOMEI) - Backup and Restore.
  • Darik's Boot and Nuke 2.3.0 (2015, dban.org) - Data Wiping Software.
  • DFSee 16.5 (2019, Jan van Wijk) - Working with hard disk partitions.
  • DiskCheck 4.3.0 (2013, Miray Software) - Testing and diagnostics of hard disks.
  • DiskGenius 5.1.1.670 (2019, Eassos Technology) - Working with hard disk partitions.
  • GParted 1.0.0-5-i686 (2019, gparted.org) - Working with hard disk partitions (create, modify, delete).
  • HDAT2 6.5 (2019, CBL) - Testing and diagnostics of hard disks.
  • HDClone 8 Free Edition (2018, Miray Software) - A program for creating backups and images from physical and logical disks.
  • HDD Regenerator (2011, Dmitriy Primochenko) - Diagnostics and repaire of hard disks.
  • Hitachi Feature Tool 2.16 (2009, Hitachi) - Working with Hitachi hard disks.
  • Hitachi Drive Fitness Test 4.16 (2009, Hitachi) - Testing Hitachi disks.
  • MHDD32 4.6 (2005, Dmitry Postrigan) - Low-level analysis of the hard disk.
  • Partition-Saving 4.60 (2019, Damien Guibouret) - Working with hard disk partitions.
  • PhotoRec 7.2 (2019, Christofer Grenier) - Data Restoring Software.
  • SeaTools Bootable v2.1.2 (2018, Seagate Technology) - Testing and diagnostics of hard disks Seagate, LaCie, Maxtor, Samsung and other.
  • SeaTools for DOS 2.23 (2011) - Working with SeaGate Hard Drives.
  • TestDisk 7.2 (2019, Christofer Grenier) - Testing and diagnostics of hard disks.
  • Victoria 3.52с (2005, Сергей Казанский) - Checking the hard drive for errors.
  • WD Data Lifeguard Diagnostics 5.27 (2016, Western Digital) - Diagnostics of Western Digital hard disks.

Tests Utilities:


  • ASTRA 6.60 (2018, Sysinfo Lab) - Information about the hardware.
  • CHZ Monitor-Test 2.0 (2009, CHZ-Soft) - Testing the monitor.
  • CPU Identification utility 1.26 (2017) - Information about the CPU.
  • Hardware Detection Tool 0.5.2 (List of PCI ID's 2019-11-10) - - Information about the hardware.
  • HWiNFO 5.5.5 (2011, HWiNFO) - Information about the hardware.
  • Intel Processor Identification Utility 5.30 (2015, Intel) - Information about the Intel CPU.
  • memtest86+ 5.01 (2013, PassMark) - Testing the monitor.
  • Nokia Monitor Test 1.0a (1995, Nokia) and 1.2 (2002, Рытников Вечеслав) - Testing the monitor.
  • Video Memory stress Test 1.21 (2008, Misha Cherkes) - Video Memory Diagnostic.
  • Windows Memory Diagnostic 0.4 (2003, Microsoft) - Memory Diagnostic Utility.

System Utilities:


  • Offline NT/2000/XP/Vista/7 Password Changer (2014, Petter Nordahl-Hagen) - Reset passwords for Windows NT/2000/XP/Vista/7.
  • FreeDOS 1.2 Installer (freedos.org) - Install FreeDOS on PC.

In This Release:


  • Add Darik's Boot and Nuke 2.3.0 (2015)
  • Add Hardware Detection Tool 0.5.2 (List of PCI ID's 2019-11-10)
  • Add Nokia Monitor Test 1.2 Rus
  • Add TestDisk 7.2 (2019)
  • Updated AntivirusLiveCD 31.0-0.102.0
  • Updated DiskGenius (PartitionGuru) 5.1.1.670
  • Updated DFSee 16.5 (2019)
  • Updated Dr.Web LiveDisk (2019-11-24)
  • Updated GParted 1.0.0-5-i686 (2019)
  • Updated HDAT2 6.5 (2019)
  • Updated Kaspersky Rescue Disk (2019-11-24)
  • Updated Norton Bootable Recovery Tool (2019-07-08)
  • Updated Sophos Bootable (2019-11-24)
  • Updated Windows Defender Offline (2019-11-24)

Update: Link mới nhất version 2020 ở đây : https://dl.comss.org/download/comss_boot_usb_2020_06.iso

Cảm ơn hai cháu @secpol@haxoma đã cung cấp thông tin.

Link download:


Homepage: https://www.comss.ru/
Download ISO File Full Version: https://dl.comss.ru/download/comss_boot_usb_2019_11.iso
Download ISO File Lite Version: https://dl.comss.ru/download/comss_boot_usb_lite_2019_11_24.iso
Download By Torrent: https://dl.comss.ru/download/comss_boot_usb_2019_11.iso.torrent


Trang chủ là tiếng Nga, nếu dịch sang English thì không thấy hướng dẫn cách tạo boot, còn làm theo chỉ dẫn của bạn ở trên như sau:

How To Creat A USB Device:


  1. Format the USB device in FAT32 (you can use standard Windows tool).
  2. Copy the contents of the ISO image to the USB device.
  3. Run the "CREATE_BOOT_USB.bat" (with administrator rights) file on the USB device.
  4. In the console, enter the letter of the USB device and press ENTER.
  5. Following the console instructions, press any key and wait until the boot loader is installed.
  6. Press any key to log out of the console. The USB device is ready.

Dòng số 3 tôi không tìm thấy trong usb khi đã tạo theo cách của họ, đây là hình của usb:

Xem phần đính kèm 14465


Tôi đã vào từng folder tìm nhưng không hề thấy cái file: "CREATE_BOOT_USB.bat" ở đâu cả. Khi boot vào máy UEFI thì nó hiện như sau:


20200b2d13a0-72e8-4de8-9150-79cade19abe5.png


Các bạn có thấy nó lưu ý boot sang Legacy không? Lúc đó tôi chưa chỉnh sửa gì từ Bootice, đem gắn qua máy Legacy thì bị lỗi NO boot operating system. Sau khi tôi chỉnh lại ProcessPBR với Syslinux thì boot vào lại Legacy nó hiện ra như sau:



2021-05-03-153516.png



2021-05-03-181510.png



2021-05-03-181535.png



2021-05-03-181552.png



2021-05-03-181644.png



Hình dưới cho thấy tôi test trực tiếp từ thẻ nhớ trên máy ảo nên nó báo không có Windows là đúng:


2021-05-03-181725.png



Vào xong các bạn nhớ chạy update như sau:


2021-05-03-181739.png



2021-05-03-181802.png




2021-05-03-181848.png




2021-05-03-181901.png




2021-05-03-181937.png




2021-05-03-182012.png




2021-05-03-182104.png



Tôi làm tượng trưng 1 soft DrWeb, nếu các bạn muốn xem hình của soft khác thì cho tôi hay nhé.


202011743f42-f029-4877-8be2-25dd90887620.png



2020dc8249d7-1dfa-472d-a718-bf50b3526646.png



2020d5c287c2-da5d-4f36-8d73-aa65205cfdc2.png



2020e34cf3e2-c360-4314-944a-01495672356b.png



2020450b3201-793d-448e-b58e-d41bd5dad48a.png


Dung lượng của ISO này như hình dưới đây:

Xem phần đính kèm 14466

Hình từ bootice:

Xem phần đính kèm 14467


Xem phần đính kèm 14468



Xem phần đính kèm 14469

Vậy là xong một bản boot tổng hợp các tools, tôi xin tạm ngưng ở đây, khi nào có bản boot khác tôi sẽ lại giới thiệu tiếp. Cảm ơn tất cả các bạn đã theo dõi nhé.



UPDATE CÁC MỤC BỔ ÍCH CÓ TRONG TOPIC:

Thân chào các bạn, qua 29 pages thì có mấy mục chủ yếu tích hợp và tạo thêm bản Win XPE, tôi sẽ update từ từ các thông tin lên #1 để cho các bạn tiện theo dõi.

1/- TÍCH HỢP BỘ COMSS VÀO USB ANHDVBOOT

Trước hết là phần hướng dẫn tích hợp bộ COMSS vào usbboot của Anhdv do tác giả @secpol. Phần này bắt đầu từ cmt #31, các bạn chịu khó đọc cho hết các cmt sau đó nhé.


https://vn-z.vn/threads/tim-hieu-th...-ban-dong-gop-y-kien.23022/page-2#post-361182

Xem phần đính kèm 17183


2/- TÍCH HỢP MCBOOT VÀO ANHDVBOOT

Phần tích hợp này cũng của tác giả @secpol, bắt đầu từ cmt # 72 và các cmt tiếp theo đó:

https://vn-z.vn/threads/tim-hieu-them-mot-so-usb-boot-khac-moi-ban-dong-gop-y-kien.23022/post-364672


3/- TÍCH HỢP DLCBOOT VÀ SERGEI VÀO ANHDVBOOT

Phần tích hợp này của tác giả @Le Duc 287, bắt đầu từ cmt # 85 và các cmt tiếp theo đó:

https://vn-z.vn/threads/tim-hieu-th...-ban-dong-gop-y-kien.23022/page-5#post-365191


4/- TỰ TẠO BẢN WINDOWS-XPE VỚI DUNG LƯỢNG ÍT NHẤT, PHẦN APPS DÙNG THÊM CỦA CÁC BẠN KHÁC.


Ở phần này đúng ra trước đó là nhờ @Le Duc 287 giới thiệu lại cách tạo bản Windows-PESE, tôi có làm thử lại nhưng không ưng ý lắm. Sau khi chuyển qua làm Windows-XPE thì tôi thấy phù hợp hơn. Từ cmt # 424 và các cmt kế tiếp của tác giả @lvt491, các bạn sẽ thấy đầy đủ chi tiết với hình ảnh và cách tạo code cho phần Apps riêng biệt.



Nếu bạn nào có thời gian thì vui lòng xem thêm các cmt trước đó, có thêm các code của @Le Duc 287, @hoanchien, @trungminh, tất cả dành cho cách tạo bản XPE và apps hoàn chỉnh.


Link download bản XPE ở đây:

http://win10se.cwcodes.net/Compressed/Win10XPE_2020-07-08.7z

Apps thì tôi dùng Apps của các bạn ANHDV, HOANCHIEN, SERGEI.


LỜI CẢM ƠN:

Tôi xin chân thành cảm ơn các tác giả của các bộ boot: ANHDVBOOT, MCBOOT, DLCBOOT VÀ SERGEI STREILEC, xin phép được sử dụng tài nguyên của các bạn trong topic này.

Cảm ơn các tác giả: @secpol, @Le Duc 287, @lvt491, @hoanchien, @trungminh đã nhiệt tình góp ý, đóng góp kiến thức và hổ trợ tôi rất nhiều trong topic.

Thân chúc tất cả các bạn luôn sức khoẻ, gặt hái nhiều thành công trong cuộc sống.
 
Sửa lần cuối:
Trả lời

Le Duc 287

Rìu Vàng
Làm như vậy sẽ tốn RAM lắm, 1 cái App đã hơn 800Mb rồi, 2 cái tầm 1.7Gb, máy bạn chắc nhiều RAM hử ^^. Máy mình 4Gb bọ. Tối rảnh mình mò code gửi bạn sau nhá
kết quả thế nào rồi bạn. mình vẫn thích dùng lệnh cmd của win hơn. mình làm đc mont cả file apps.wim cả appsx64 và cả driver.wim trước khi hỏi bạn nhưng phải tạo 3 file .cmd. làm mọi cách ko dồn vào 1 file được. thấy bạn bảo file .au3 dễ code nhưng mình thử code lại nhg vẫn ko dồn vào 1 fle đc. nếu làm 2 hoặc 3 au3 thì được mình thử rồi nhưng cuối cùng mình dùng cmd vẫn thích chính chủ hơn
 

lvt491

Rìu Vàng Đôi
kết quả thế nào rồi bạn. mình vẫn thích dùng lệnh cmd của win hơn. mình làm đc mont cả file apps.wim cả appsx64 và cả driver.wim trước khi hỏi bạn nhưng phải tạo 3 file .cmd. làm mọi cách ko dồn vào 1 file được. thấy bạn bảo file .au3 dễ code nhưng mình thử code lại nhg vẫn ko dồn vào 1 fle đc. nếu làm 2 hoặc 3 au3 thì được mình thử rồi nhưng cuối cùng mình dùng cmd vẫn thích chính chủ hơn
Tối qua có việc nên chưa chỉnh code được bạn ah, mấy ngày tới không có máy tính mà dùng nữa ấy. Khi nào xong mình inbox bạn tham khảo nhé.
 

hoanchien


Junior Moderator
Thành viên BQT
Bác hiểu rồi cháu, bởi vì bên bác nó hiện ra sao thì bác phải báo lại cho đúng, nếu không thì làm mất lòng tin của các cháu đúng không? Đối với bác, tất cả đã ổn rồi, vì các cháu khác nhờ cháu làm thêm code thì bác cũng test xem nó ra sao thôi cháu.
Dạ không phải như bác nghĩ đâu ạ, a e bọn cháu sẽ hướng dẫn bác làm đến khi thành công thì thôi ạ, cũng là nơi để a e chưa biết xem qua bài viết và coment là có thể làm đc, thời điểm cháu tiến hành làm và build win không có ai để hỏi cả, mò mẫm làm có khi mất cả mấy ngày không đc chút nào cả, giờ có topnic này tốt quá bác ạ, các bạn ai biết thì chia sẻ thêm để ae cùng nghiên cứu xây dựng thêm cho hoàn thiện.
 

hoanchien


Junior Moderator
Thành viên BQT
kết quả thế nào rồi bạn. mình vẫn thích dùng lệnh cmd của win hơn. mình làm đc mont cả file apps.wim cả appsx64 và cả driver.wim trước khi hỏi bạn nhưng phải tạo 3 file .cmd. làm mọi cách ko dồn vào 1 file được. thấy bạn bảo file .au3 dễ code nhưng mình thử code lại nhg vẫn ko dồn vào 1 fle đc. nếu làm 2 hoặc 3 au3 thì được mình thử rồi nhưng cuối cùng mình dùng cmd vẫn thích chính chủ hơn
Cái này hay và tiện lợi bạn ạ
 

lvt491

Rìu Vàng Đôi
Bạn share cho mình với nhé thank bạn
Đây nhé bạn:
Dùng gói Apps.wim của Anhdv
Mã:
#NoTrayIcon
Global $ppapps = False, $sdidrv = False
_main()
Func _main()
     SplashTextOn("", "Processing Shortcuts. Please wait ...", 300, 50, -1, -1, BitOR(1, 32))
    If Not FileExists(@DesktopDir & "\Clear Temp.LNK") Then _exec("Pecmd.exe LINK !%Desktop%\Clear Temp,%WinDir%\System32\PECMD.exe,TEMP DELETE,%WinDir%\System32\shell32.dll#153")
    If Not FileExists(@DesktopDir & "\Admin Login.LNK") Then _exec("Pecmd.exe LINK !%Desktop%\Admin Login,%WinDir%\System32\PECMD.exe,LOAD %WinDir%\PecmdAdminLoad.ini,%WinDir%\System32\shell32.dll#44")
    If Not FileExists(@DesktopDir & "\Shutdown.LNK") Then _exec("Pecmd.exe LINK !%Desktop%\Shutdown,%ProgramFiles%\WinXShell\WinXShell.exe,-ui -jcfg wxsUI\UI_Shutdown.zip\full.jcfg,%ProgramFiles%\WinXShell\wxsUI\Power.ico")
    If Not FileExists(@DesktopDir & "\Load Shortcut.LNK") Then _exec("Pecmd.exe LINK !%Desktop%\Load Shortcut,%WinDir%\AutoIt3.exe,%WinDir%\Peapps.au3,%WinDir%\System32\shell32.dll#238")
    If FileExists("X:\Users\Administrator\Desktop\Admin Login.LNK") Then _exec("Pecmd.exe FILE X:\Users\Administrator\Desktop\Admin Login.LNK")
    _reloadsc()
    If Not $ppapps Or Not $sdidrv Then
_mapiso("Apps.iso")
_reloadsc()
EndIf
    If Not $ppapps Then
_mapwim("Apps.wim")
_reloadsc()
EndIf
    If Not $sdidrv Then
_mapiso("Driver.iso")
_reloadsc()
EndIf
_loadapps64()
    SplashOff()
    If Not $ppapps And Not $sdidrv Then MsgBox(48, "WARNING", "Necessary files were not found or not mounted !", 9)
    Exit
EndFunc

Func _loadapps64()
Local $wim64 = _checkapps("Apps64\pstart.exe", "PSTARTx64")
If Not $wim64 Then
_mapwim("Apps.wim", 2, "B:\Apps64")
_checkapps("Apps64\pstart.exe", "PSTARTx64")
EndIf
EndFunc

Func _reloadsc()
    If Not $ppapps Then
        $ppapps = _checkapps("Apps\pstart.exe", "PSTART", 0)
    EndIf
    If Not $sdidrv Then
        $sdidrv = _checkdrvs("DriverPacks\SDI_auto.cmd", "Inst Driver")
    EndIf
EndFunc

Func _checkapps($file, $link, $wcs = 1)
    For $i = 65 To 90
        If FileExists(Chr($i) & ":\" & $file) Then
            Local $path = Chr($i) & ":\" & $file
            _exec("Pecmd.exe LINK !%Desktop%\" & $link & "," & $path)
            If $wcs = 1 Then _loadwcs($path)
            If FileExists(@DesktopDir & "\" & $link & ".LNK") Then ShellExecute(@DesktopDir & "\" & $link & ".LNK")
            Return True
        EndIf
    Next
    Return False
EndFunc

Func _checkdrvs($file, $link)
    For $i = 65 To 90
        If FileExists(Chr($i) & ":\" & $file) Then
            Local $path = Chr($i) & ":\" & $file
            _exec("Pecmd.exe LINK !%Desktop%\" & $link & "," & $path & ",,%WinDir%\System32\shell32.dll#162")
            Return True
        EndIf
    Next
    Return False
EndFunc

Func _loadwcs($fpath)
    Local $fdir = StringRegExpReplace($fpath, "\\[^\\]*$", "")
    If @error Then Return
    Local $fwcs = $fdir & "\apps.wcs"
    If FileExists($fwcs) Then _exec("Pecmd.exe LOAD " & $fwcs)
EndFunc

Func _mapiso($file)
    Local $iso = ""
    For $i = 65 To 90
        If FileExists(Chr($i) & ":\" & $file) Then
            $iso = Chr($i) & ":\" & $file
            ExitLoop
        ElseIf FileExists(Chr($i) & ":\apps\" & $file) Then
            $iso = Chr($i) & ":\apps\" & $file
            ExitLoop
        ElseIf FileExists(Chr($i) & ":\iso\" & $file) Then
            $iso = Chr($i) & ":\iso\" & $file
            ExitLoop
        EndIf
    Next
    If $iso <> "" Then
        _exec("imdisk.exe -a -f " & $iso & " -m #:")
    EndIf
EndFunc

Func _mapwim($file, $indx = 1, $path = "B:\Apps")
    Local $wim = ""
    For $i = 65 To 90
        If FileExists(Chr($i) & ":\" & $file) Then
            $wim = Chr($i) & ":\" & $file
            ExitLoop
        ElseIf FileExists(Chr($i) & ":\apps\" & $file) Then
            $wim = Chr($i) & ":\apps\" & $file
            ExitLoop
        ElseIf FileExists(Chr($i) & ":\wim\" & $file) Then
            $wim = Chr($i) & ":\wim\" & $file
            ExitLoop
        EndIf
    Next
    If $wim <> "" Then
        If Not FileExists($path) Then _exec("MD " & $path)
        If FileExists($path) Then
            _exec("DISM.exe /Mount-Wim /WimFile:" & $wim & " /index:" & $indx & " /MountDir:" & $path)
        EndIf
    EndIf
EndFunc

Func _exec($scommand)
    RunWait(@ComSpec & ' /C ' & $scommand, '', @SW_HIDE)
EndFunc
;Edit by LVT491 (2020-08-19)
 
Sửa lần cuối:

trungminh

Rìu Vàng Đôi
Đây nhé bạn, code này sửa trên điện thoại nên chưa test:
Dùng gói Apps.wim của Anhdv
Mã:
#NoTrayIcon
Global $ppapps = False, $sdidrv = False
_main()
Func _main()
     SplashTextOn("", "Processing Shortcuts. Please wait ...", 300, 50, -1, -1, BitOR(1, 32))
    If Not FileExists(@DesktopDir & "\Clear Temp.LNK") Then _exec("Pecmd.exe LINK !%Desktop%\Clear Temp,%WinDir%\System32\PECMD.exe,TEMP DELETE,%WinDir%\System32\shell32.dll#153")
    If Not FileExists(@DesktopDir & "\Admin Login.LNK") Then _exec("Pecmd.exe LINK !%Desktop%\Admin Login,%WinDir%\System32\PECMD.exe,LOAD %WinDir%\PecmdAdminLoad.ini,%WinDir%\System32\shell32.dll#44")
    If Not FileExists(@DesktopDir & "\Shutdown.LNK") Then _exec("Pecmd.exe LINK !%Desktop%\Shutdown,%ProgramFiles%\WinXShell\WinXShell.exe,-ui -jcfg wxsUI\UI_Shutdown.zip\full.jcfg,%ProgramFiles%\WinXShell\wxsUI\Power.ico")
    If Not FileExists(@DesktopDir & "\Load Shortcut.LNK") Then _exec("Pecmd.exe LINK !%Desktop%\Load Shortcut,%WinDir%\AutoIt3.exe,%WinDir%\Peapps.au3,%WinDir%\System32\shell32.dll#238")
    If FileExists("X:\Users\Administrator\Desktop\Admin Login.LNK") Then _exec("Pecmd.exe FILE X:\Users\Administrator\Desktop\Admin Login.LNK")
    _reloadsc()
    If Not $ppapps Or Not $sdidrv Then
_mapiso("Apps.iso")
_reloadsc()
EndIf
    If Not $ppapps Then
_mapwim("Apps.wim")
_reloadsc()
EndIf
    If Not $sdidrv Then
_mapiso("Driver.iso")
_reloadsc()
EndIf
_loadapps64()
    SplashOff()
    If Not $ppapps And Not $sdidrv Then MsgBox(48, "WARNING", "Necessary files were not found or not mounted !", 9)
    Exit
EndFunc

Func _loadapps64()
Local $wim64 = _checkapps("Apps64\pstart.exe", "PSTARTx64")
If Not $wim64 Then
_mapwim("Apps.wim", 2, "B:\Apps64")
checkapps("Apps64\pstart.exe", "PSTARTx64")
EndIf
EndFunc

Func _reloadsc()
    If Not $ppapps Then
        $ppapps = _checkapps("Apps\pstart.exe", "PSTART", 0)
    EndIf
    If Not $sdidrv Then
        $sdidrv = _checkdrvs("DriverPacks\SDI_auto.cmd", "Inst Driver")
    EndIf
EndFunc

Func _checkapps($file, $link, $wcs = 1)
    For $i = 65 To 90
        If FileExists(Chr($i) & ":\" & $file) Then
            Local $path = Chr($i) & ":\" & $file
            _exec("Pecmd.exe LINK !%Desktop%\" & $link & "," & $path)
            If $wcs = 1 Then _loadwcs($path)
            If FileExists(@DesktopDir & "\" & $link & ".LNK") Then ShellExecute(@DesktopDir & "\" & $link & ".LNK")
            Return True
        EndIf
    Next
    Return False
EndFunc

Func _checkdrvs($file, $link)
    For $i = 65 To 90
        If FileExists(Chr($i) & ":\" & $file) Then
            Local $path = Chr($i) & ":\" & $file
            _exec("Pecmd.exe LINK !%Desktop%\" & $link & "," & $path & ",,%WinDir%\System32\shell32.dll#162")
            Return True
        EndIf
    Next
    Return False
EndFunc

Func _loadwcs($fpath)
    Local $fdir = StringRegExpReplace($fpath, "\\[^\\]*$", "")
    If @error Then Return
    Local $fwcs = $fdir & "\apps.wcs"
    If FileExists($fwcs) Then _exec("Pecmd.exe LOAD " & $fwcs)
EndFunc

Func _mapiso($file)
    Local $iso = ""
    For $i = 65 To 90
        If FileExists(Chr($i) & ":\" & $file) Then
            $iso = Chr($i) & ":\" & $file
            ExitLoop
        ElseIf FileExists(Chr($i) & ":\apps\" & $file) Then
            $iso = Chr($i) & ":\apps\" & $file
            ExitLoop
        ElseIf FileExists(Chr($i) & ":\iso\" & $file) Then
            $iso = Chr($i) & ":\iso\" & $file
            ExitLoop
        EndIf
    Next
    If $iso <> "" Then
        _exec("imdisk.exe -a -f " & $iso & " -m #:")
    EndIf
EndFunc

Func _mapwim($file, $indx = 1, $path = "B:\Apps")
    Local $wim = ""
    For $i = 65 To 90
        If FileExists(Chr($i) & ":\" & $file) Then
            $wim = Chr($i) & ":\" & $file
            ExitLoop
        ElseIf FileExists(Chr($i) & ":\apps\" & $file) Then
            $wim = Chr($i) & ":\apps\" & $file
            ExitLoop
        ElseIf FileExists(Chr($i) & ":\wim\" & $file) Then
            $wim = Chr($i) & ":\wim\" & $file
            ExitLoop
        EndIf
    Next
    If $wim <> "" Then
        If Not FileExists($path) Then _exec("MD " & $path)
        If FileExists($path) Then
            _exec("DISM.exe /Mount-Wim /WimFile:" & $wim & " /index:" & $indx & " /MountDir:" & $path)
        EndIf
    EndIf
EndFunc

Func _exec($scommand)
    RunWait(@ComSpec & ' /C ' & $scommand, '', @SW_HIDE)
EndFunc
;Edit by LVT491 (2020-08-19)
Thank bạn nhiều mình sẽ test và báo kết quả sau
 

Le Duc 287

Rìu Vàng
Tối qua có việc nên chưa chỉnh code được bạn ah, mấy ngày tới không có máy tính mà dùng nữa ấy. Khi nào xong mình inbox bạn tham khảo nhé.
Bạn cứ giải quyết việc riêng khi nào xong inbox mk cũng được
Thank bạn nhiều mình sẽ test và báo kết quả sau
BẠN TEST THẾ NÀO
MK TEST Ổ B CÓ 2 FODER APPS VÀ APPS64 NHƯNG TRONG 2 FODER MOUNT CHUNG MỘT FILE APPPS.WIM
 

trungminh

Rìu Vàng Đôi
Bạn cứ giải quyết việc riêng khi nào xong inbox mk cũng được

BẠN TEST THẾ NÀO
MK TEST Ổ B CÓ 2 FODER APPS VÀ APPS64 NHƯNG TRONG 2 FODER MOUNT CHUNG MỘT FILE APPPS.WIM
Bạn sửa lại chỗ này:
Func _loadapps64()
Local $wim64 = _checkapps("Apps64\pstart.exe", "PSTARTx64")
If Not $wim64 Then
_mapwim("Apps.wim", 2, "B:\Apps64")
checkapps("Apps64\pstart.exe", "PSTARTx64")
EndIf
EndFunc

Thành như thế này là được nhé (mình đã sửa và chạy tốt)
Func _loadapps64()
Local $wim64 = _checkapps("Apps64\pstart.exe", "PSTARTx64")
If Not $wim64 Then
_mapwim("Apps64.wim", 2, "B:\Apps64")
$wim64 = _checkapps("Apps64\pstart.exe", "PSTARTx64")
EndIf
EndFunc

Của mình có 2 apps là Apps.wim và Apps64.wim
Nếu của bạn có 1 file Apps.wim mà muốn mount 1 ra Apps và 2 ra Apps64 thì chỉ sửa lại
Func _loadapps64()
Local $wim64 = _checkapps("Apps64\pstart.exe", "PSTARTx64")
If Not $wim64 Then
_mapwim("Apps.wim", 2, "B:\Apps64")
$wim64 = _checkapps("Apps64\pstart.exe", "PSTARTx64")
EndIf
EndFunc
 
Sửa lần cuối:

Le Duc 287

Rìu Vàng
Bạn sửa lại chỗ này:
Func _loadapps64()
Local $wim64 = _checkapps("Apps64\pstart.exe", "PSTARTx64")
If Not $wim64 Then
_mapwim("Apps.wim", 2, "B:\Apps64")
checkapps("Apps64\pstart.exe", "PSTARTx64")
EndIf
EndFunc

Thành như thế này là được nhé (mình đã sửa và chạy tốt)
Func _loadapps64()
Local $wim64 = _checkapps("Apps64\pstart.exe", "PSTARTx64")
If Not $wim64 Then
_mapwim("Apps64.wim", 2, "B:\Apps64")
$wim64 = _checkapps("Apps64\pstart.exe", "PSTARTx64")
EndIf
EndFunc

Của mình có 2 apps là Apps.wim và Apps64.wim
Nếu của bạn có 1 file Apps.wim mà muốn mount 1 ra Apps và 2 ra Apps64 thì chỉ sửa lại
Func _loadapps64()
Local $wim64 = _checkapps("Apps64\pstart.exe", "PSTARTx64")
If Not $wim64 Then
_mapwim("Apps.wim", 2, "B:\Apps64")
$wim64 = _checkapps("Apps64\pstart.exe", "PSTARTx64")
EndIf
EndFunc
Ok thanhk bạn tối mình test giờ đang làm
 

Hoang Duch2

Rồng Đỏ
Cảm ơn 3 cháu @lvt491, @trungminh@Le Duc 287, bác đã test lại với code dành cho phần Apps.wim của @anhdv với 2 folders 1 và 2 trong đó thành công.

Đây là hình trên máy chủ desktop Legacy:


20208f796ff3-509b-46ce-b03c-f3fd9772c3bb.png



202087a8d82c-87ee-4ee5-a517-acb2a9e9e07f.png



2020907c69f5-94b8-4304-b595-adb81de03187.png




Login với Admin:

2020714ab77b-31de-4cd6-a3cc-9ddea0cd3d3a.png



2020afa61443-02a9-4c57-b6f5-692f05ed9c6b.png



2020ddd6a553-1841-4483-b271-f9bb8d422e55.png



File peapps.au3 mới nhất của @lvt491 cmt #666 và thêm vào phần đóng khung của @trungminh, bác hà tiện không xoá code Func trên nó, chỉ để thêm dấu ##

20201cbbb20b-9bd8-4f4f-9b6a-749cbaee1920.png
 
Sửa lần cuối:

lvt491

Rìu Vàng Đôi
File peapps.au3 mới nhất của @lvt491 cmt #666 và thêm vào phần đóng khung của @trungminh, bác hà tiện không xoá code Func trên nó, chỉ để thêm dấu ##

20201cbbb20b-9bd8-4f4f-9b6a-749cbaee1920.png
Cháu cám ơn bác nhiều. Code ở dòng 66 đáng lẽ phải là _checkapps cháu lại thiếu mất dấu _. Cảm ơn bạn @trungminh đã test và fix code nữa nhé
 

hoanchien


Junior Moderator
Thành viên BQT

trungminh

Rìu Vàng Đôi
Thank @lvt491 @trungminh[/USE ] bác [USER=15707]@Hoang Duch2 @hoanchien @anhdv cuối cùng mình cũng làm được bản winpe sử dụng apps.wim của @anhdv và dùng luôn file apps.iso của @hoanchien mount trực tiếp dùng cả apps và drivers luôn
Bạn làm cho tất vào ổ Ram như thế thì chỉ có những máy ram nhiều mới chạy được những máy cùi là chịu chết. Máy mình 4g ram mà để ram 70% thì mới chạy được apps còn driver phải mount CD. CÒn bản winpe32 mỗi mount apps 1 số đã không chạy được rồi
 

hoanchien


Junior Moderator
Thành viên BQT
Bạn làm cho tất vào ổ Ram như thế thì chỉ có những máy ram nhiều mới chạy được những máy cùi là chịu chết. Máy mình 4g ram mà để ram 70% thì mới chạy được apps còn driver phải mount CD. CÒn bản winpe32 mỗi mount apps 1 số đã không chạy được rồi
Vì vậy mà mình chọn mount ra iso luôn cả Apps và Driver cho tiện không phải mount vào ổ B:\ ram làm gì cho tốn tài nguyên.
 

Le Duc 287

Rìu Vàng
Bạn làm cho tất vào ổ Ram như thế thì chỉ có những máy ram nhiều mới chạy được những máy cùi là chịu chết. Máy mình 4g ram mà để ram 70% thì mới chạy được apps còn driver phải mount CD. CÒn bản winpe32 mỗi mount apps 1 số đã không chạy được rồi
Apps.iso mình mount vào ổ ảo chứ ko pải ổ b. Mình dùng nguyên file iso của @hoanchien Ko chỉnh sửa gì cả. Mình chỉ mount thêm một file apps64 mình làm những phần mềm thiết yếu thôi vào ổ b thôi. Máy bên mình và máy bạn bè ng thân toàn 8G trở lên lên ko lo thiếu ram
 

Le Duc 287

Rìu Vàng
Bạn chia sẻ code và cách làm đầy đủ để ae chưa làm đc biết làm theo nhé, thank bạn
code giống của @lvt491 và sửa lại toàn bộ như sau mình mount thêm một file appsx64 trong foder DucLD mình đặt tên theo từng file AppsDucLD là mount file Appsx64 mình làm. ADMC là mount file iso của bạn. AnhDV là mount file Apps của AnhDV. để 3 file AutoIt3.exe và MountAD.au3 và PecmdAdminLoad.ini trong foder AD của foder windows
Mã:
#NoTrayIcon
Global $AppsDucLD = False, $ADMC = False
_main()
Func _main()
     SplashTextOn("", "Processing Shortcuts. Please wait ...", 300, 50, -1, -1, BitOR(1, 32))
    If Not FileExists(@DesktopDir & "\Clear Temp.LNK") Then _exec("Pecmd.exe LINK !%Desktop%\Clear Temp,%WinDir%\System32\PECMD.exe,TEMP DELETE,%WinDir%\System32\shell32.dll#153")
    If Not FileExists(@DesktopDir & "\Admin Login.LNK") Then _exec("Pecmd.exe LINK !%Desktop%\Admin Login,%WinDir%\System32\PECMD.exe,LOAD %WinDir%\AD\PecmdAdminLoad.ini,%WinDir%\System32\shell32.dll#44")
    If Not FileExists(@DesktopDir & "\Shutdown.LNK") Then _exec("Pecmd.exe LINK !%Desktop%\Shutdown,%ProgramFiles%\WinXShell\WinXShell.exe,-ui -jcfg wxsUI\UI_Shutdown.zip\full.jcfg,%ProgramFiles%\WinXShell\wxsUI\Power.ico")
    If Not FileExists(@DesktopDir & "\Load Shortcut.LNK") Then _exec("Pecmd.exe LINK !%Desktop%\Load Shortcut,%WinDir%\AD\AutoIt3.exe,%WinDir%\AD\MountAD.au3,%WinDir%\System32\shell32.dll#238")
    If FileExists("X:\Users\Administrator\Desktop\Admin Login.LNK") Then _exec("Pecmd.exe FILE X:\Users\Administrator\Desktop\Admin Login.LNK")
    _reloadAppsDriver()
    If Not $AppsDucLD Or Not $ADMC Then
    If Not $AppsDucLD Then
_mapwim("Appsx64.wim")
_reloadAppsDriver()
EndIf
_mapiso("Driver.iso")
_reloadAppsDriver()
EndIf
    If Not $ADMC Then
_mapiso("Apps.iso")
_reloadAppsDriver()
EndIf
_loadAppsAnhDV()
    SplashOff()
    If Not $AppsDucLD And Not $ADMC Then MsgBox(48, "WARNING", "Necessary files were not found or not mounted !", 9)
    Exit
EndFunc

Func _loadAppsAnhDV()
Local $wimAnhDV = _checkApps("AppsAnhDV\pstart.exe", "Apps AnhDV")
If Not $wimAnhDV Then
_mapwim("Apps.wim", 2, "B:\AppsAnhDV")
_checkApps("AppsAnhDV\pstart.exe", "Apps AnhDV")
EndIf
EndFunc

Func _reloadAppsDriver()
    If Not $AppsDucLD Then
        $AppsDucLD = _checkApps("DucLD\pstart64.exe", "Apps DucLD", 0)
    EndIf
    If Not $ADMC Then
        $ADMC = _checkDrvs("Driver\x64\DR.BAT", "Inst Driver MC")
        $ADMC = _checkApps("Programs\PStart64.exe", "Apps MC", 0)
      EndIf
EndFunc

Func _checkApps($file, $link, $wcs = 1)
    For $i = 65 To 90
        If FileExists(Chr($i) & ":\" & $file) Then
            Local $path = Chr($i) & ":\" & $file
            _exec("Pecmd.exe LINK !%Desktop%\" & $link & "," & $path)
            If $wcs = 1 Then _loadwcs($path)
            If FileExists(@DesktopDir & "\" & $link & ".LNK") Then ShellExecute(@DesktopDir & "\" & $link & ".LNK")
            Return True
        EndIf
    Next
    Return False
EndFunc

Func _checkDrvs($file, $link)
    For $i = 65 To 90
        If FileExists(Chr($i) & ":\" & $file) Then
            Local $path = Chr($i) & ":\" & $file
            _exec("Pecmd.exe LINK !%Desktop%\" & $link & "," & $path & ",,%WinDir%\System32\shell32.dll#162")
            Return True
        EndIf
    Next
    Return False
EndFunc

Func _loadwcs($fpath)
    Local $fdir = StringRegExpReplace($fpath, "\\[^\\]*$", "")
    If @error Then Return
    Local $fwcs = $fdir & "\apps.wcs"
    If FileExists($fwcs) Then _exec("Pecmd.exe LOAD " & $fwcs)
EndFunc

Func _mapiso($file)
    Local $iso = ""
    For $i = 65 To 90
        If FileExists(Chr($i) & ":\" & $file) Then
            $iso = Chr($i) & ":\" & $file
            ExitLoop
        ElseIf FileExists(Chr($i) & ":\apps\" & $file) Then
            $iso = Chr($i) & ":\apps\" & $file
            ExitLoop
        ElseIf FileExists(Chr($i) & ":\iso\" & $file) Then
            $iso = Chr($i) & ":\iso\" & $file
            ExitLoop
        EndIf
    Next
    If $iso <> "" Then
        _exec("imdisk.exe -a -f " & $iso & " -m #:")
    EndIf
EndFunc

Func _mapwim($file, $indx = 1, $path = "B:\DucLD")
    Local $wim = ""
    For $i = 65 To 90
        If FileExists(Chr($i) & ":\" & $file) Then
            $wim = Chr($i) & ":\" & $file
            ExitLoop
        ElseIf FileExists(Chr($i) & ":\DucLD\" & $file) Then
            $wim = Chr($i) & ":\DucLD\" & $file
            ExitLoop
        ElseIf FileExists(Chr($i) & ":\apps\" & $file) Then
            $wim = Chr($i) & ":\apps\" & $file
            ExitLoop
        ElseIf FileExists(Chr($i) & ":\wim\" & $file) Then
            $wim = Chr($i) & ":\wim\" & $file
            ExitLoop
        EndIf
    Next
    If $wim <> "" Then
        If Not FileExists($path) Then _exec("MD " & $path)
        If FileExists($path) Then
            _exec("DISM.exe /Mount-Wim /WimFile:" & $wim & " /index:" & $indx & " /MountDir:" & $path)
        EndIf
    EndIf
EndFunc

Func _exec($scommand)
    RunWait(@ComSpec & ' /C ' & $scommand, '', @SW_HIDE)
EndFunc
 
Sửa lần cuối:

hoanchien


Junior Moderator
Thành viên BQT
code giống của @lvt491 và sửa lại toàn bộ như sau mình mount thêm một file appsx64 trong foder DucLD mình đặt tên theo từng file AppsDucLD là mount file Appsx64 mình làm. ADMC là mount file iso của bạn. AnhDV là mount file Apps của AnhDV. để 3 file AutoIt3.exe và MountAD.au3 và PecmdAdminLoad.ini trong foder AD của foder windows
Mã:
#NoTrayIcon
Global $AppsDucLD = False, $ADMC = False
_main()
Func _main()
     SplashTextOn("", "Processing Shortcuts. Please wait ...", 300, 50, -1, -1, BitOR(1, 32))
    If Not FileExists(@DesktopDir & "\Clear Temp.LNK") Then _exec("Pecmd.exe LINK !%Desktop%\Clear Temp,%WinDir%\System32\PECMD.exe,TEMP DELETE,%WinDir%\System32\shell32.dll#153")
    If Not FileExists(@DesktopDir & "\Admin Login.LNK") Then _exec("Pecmd.exe LINK !%Desktop%\Admin Login,%WinDir%\System32\PECMD.exe,LOAD %WinDir%\AD\PecmdAdminLoad.ini,%WinDir%\System32\shell32.dll#44")
    If Not FileExists(@DesktopDir & "\Shutdown.LNK") Then _exec("Pecmd.exe LINK !%Desktop%\Shutdown,%ProgramFiles%\WinXShell\WinXShell.exe,-ui -jcfg wxsUI\UI_Shutdown.zip\full.jcfg,%ProgramFiles%\WinXShell\wxsUI\Power.ico")
    If Not FileExists(@DesktopDir & "\Load Shortcut.LNK") Then _exec("Pecmd.exe LINK !%Desktop%\Load Shortcut,%WinDir%\AD\AutoIt3.exe,%WinDir%\AD\MountAD.au3,%WinDir%\System32\shell32.dll#238")
    If FileExists("X:\Users\Administrator\Desktop\Admin Login.LNK") Then _exec("Pecmd.exe FILE X:\Users\Administrator\Desktop\Admin Login.LNK")
    _reloadAppsDriver()
    If Not $AppsDucLD Or Not $ADMC Then
    If Not $AppsDucLD Then
_mapwim("Appsx64.wim")
_reloadAppsDriver()
EndIf
_mapiso("Driver.iso")
_reloadAppsDriver()
EndIf
    If Not $ADMC Then
_mapiso("Apps.iso")
_reloadAppsDriver()
EndIf
_loadAppsAnhDV()
    SplashOff()
    If Not $AppsDucLD And Not $ADMC Then MsgBox(48, "WARNING", "Necessary files were not found or not mounted !", 9)
    Exit
EndFunc

Func _loadAppsAnhDV()
Local $wimAnhDV = _checkApps("AppsAnhDV\pstart.exe", "Apps AnhDV")
If Not $wimAnhDV Then
_mapwim("Apps.wim", 2, "B:\AppsAnhDV")
_checkApps("AppsAnhDV\pstart.exe", "Apps AnhDV")
EndIf
EndFunc

Func _reloadAppsDriver()
    If Not $AppsDucLD Then
        $AppsDucLD = _checkApps("DucLD\pstart64.exe", "Apps DucLD", 0)
    EndIf
    If Not $ADMC Then
        $ADMC = _checkDrvs("Driver\x64\DR.BAT", "Inst Driver MC")
        $ADMC = _checkApps("Programs\PStart64.exe", "Apps MC", 0)
      EndIf
EndFunc

Func _checkApps($file, $link, $wcs = 1)
    For $i = 65 To 90
        If FileExists(Chr($i) & ":\" & $file) Then
            Local $path = Chr($i) & ":\" & $file
            _exec("Pecmd.exe LINK !%Desktop%\" & $link & "," & $path)
            If $wcs = 1 Then _loadwcs($path)
            If FileExists(@DesktopDir & "\" & $link & ".LNK") Then ShellExecute(@DesktopDir & "\" & $link & ".LNK")
            Return True
        EndIf
    Next
    Return False
EndFunc

Func _checkDrvs($file, $link)
    For $i = 65 To 90
        If FileExists(Chr($i) & ":\" & $file) Then
            Local $path = Chr($i) & ":\" & $file
            _exec("Pecmd.exe LINK !%Desktop%\" & $link & "," & $path & ",,%WinDir%\System32\shell32.dll#162")
            Return True
        EndIf
    Next
    Return False
EndFunc

Func _loadwcs($fpath)
    Local $fdir = StringRegExpReplace($fpath, "\\[^\\]*$", "")
    If @error Then Return
    Local $fwcs = $fdir & "\apps.wcs"
    If FileExists($fwcs) Then _exec("Pecmd.exe LOAD " & $fwcs)
EndFunc

Func _mapiso($file)
    Local $iso = ""
    For $i = 65 To 90
        If FileExists(Chr($i) & ":\" & $file) Then
            $iso = Chr($i) & ":\" & $file
            ExitLoop
        ElseIf FileExists(Chr($i) & ":\apps\" & $file) Then
            $iso = Chr($i) & ":\apps\" & $file
            ExitLoop
        ElseIf FileExists(Chr($i) & ":\iso\" & $file) Then
            $iso = Chr($i) & ":\iso\" & $file
            ExitLoop
        EndIf
    Next
    If $iso <> "" Then
        _exec("imdisk.exe -a -f " & $iso & " -m #:")
    EndIf
EndFunc

Func _mapwim($file, $indx = 1, $path = "B:\DucLD")
    Local $wim = ""
    For $i = 65 To 90
        If FileExists(Chr($i) & ":\" & $file) Then
            $wim = Chr($i) & ":\" & $file
            ExitLoop
        ElseIf FileExists(Chr($i) & ":\DucLD\" & $file) Then
            $wim = Chr($i) & ":\DucLD\" & $file
            ExitLoop
        ElseIf FileExists(Chr($i) & ":\apps\" & $file) Then
            $wim = Chr($i) & ":\apps\" & $file
            ExitLoop
        ElseIf FileExists(Chr($i) & ":\wim\" & $file) Then
            $wim = Chr($i) & ":\wim\" & $file
            ExitLoop
        EndIf
    Next
    If $wim <> "" Then
        If Not FileExists($path) Then _exec("MD " & $path)
        If FileExists($path) Then
            _exec("DISM.exe /Mount-Wim /WimFile:" & $wim & " /index:" & $indx & " /MountDir:" & $path)
        EndIf
    EndIf
EndFunc

Func _exec($scommand)
    RunWait(@ComSpec & ' /C ' & $scommand, '', @SW_HIDE)
EndFunc
Cảm ơn bạn đã chia sẻ, chúc bạn nhiều niềm vui trong cuộc sống
 

Le Duc 287

Rìu Vàng
Bạn làm cho tất vào ổ Ram như thế thì chỉ có những máy ram nhiều mới chạy được những máy cùi là chịu chết. Máy mình 4g ram mà để ram 70% thì mới chạy được apps còn driver phải mount CD. CÒn bản winpe32 mỗi mount apps 1 số đã không chạy được rồi
bạn chọn build ram cho ổ x ít thôi ở phần build vì mình có add apps vào luôn file boot.wim đâu. ram disk lên 70% là ok rồi