Ngày hôm qua định ngồi viết bài cho win 7 nhưng mà nghiền game quá nên quên luôn :ghost: Hôm nay chủ nhật rồi, cố làm cho xong :aliens: OK! bài lab này mình sẽ hướng dẫn các bạn làm việc với GRUB4DOS trên Win 7 (cái này copy lại của lab4 nè) Khi sử dụng GRUB4DOS với HĐH Microsoft Windows, sẽ có 2 phương án để lựa chọn. Phuơng án thứ nhất là tích hợp grub4dos vào menu boot của windows. Khi HĐH khởi động thì HĐH sẽ được gọi trước, sau đó sẽ có menu lựa chọn vào HĐH hoặc GRUB4DOS. Phương án thứ hai là Rewriter MBR, sau đó dùng GRUB4DOS để quản lý menu boot của máy tính. Khi máy tính khởi động thì GRUB4DOS sẽ được gọi trước, sau đó sẽ có lựa chọn gọi HĐH các chuơng trình thông qua file menu.lst. (Ví dụ như Hiren's boot) 1. Chuẩn bị: 3 file grldr, grldr.mbr và menu.lst Link: http://www.mediafire.com/?erd5bubwa755nxj Phần mềm bootice v8.0 Link: http://www.mediafire.com/?hn0x3o3636oe2h92. Thao tác Cách 1: sử dụng dòng lệnh (BCDEDIT) để tích hợp GRUB4DOS vào menu boot của Win 7 Các bạn mở CMD (Run as administrator) và gõ lần lượt các lệnh sau đây: [TIP]Sau khi các bạn thi hành lênh thứ nhất thì sẽ nhận được 1 dòng thông báo trong đó có ID của các bạn: The entry {ID} was successfully created.[/TIP] [INFO]bcdedit /create /d "Vao GRUB4DOS" /application bootsector bcdedit /set {copy dòng ID va paste vào đây} device partition=C: bcdedit /set {copy dòng ID va paste vào đây} path \grldr.mbr bcdedit /displayorder {copy dòng ID va paste vào đây} /addlast[/INFO] Trước khi thực hiện các lệnh trên thì Menu boot của mình nó như thế này: Sau khi thực hiện các lệnh trên thì nó như thế này: Copy 3 file grldr, grldr.mbr và menu.lst bỏ vào đĩa C: Khởi động lại xem thử đã vào được grub4dos chưa nhé Cách 2: Sử dụng Bootice v8.0 (Cách này dành cho bạn nào không thích việc ngồi gõ lệnh ^^) Cái này đơn giản hơn, chỉ cần làm theo hướng dẫn, sau đó copy 3 file grldr,grldr.mbr và menu.lst vào ổ C: là OK Chú ý: trong hình trên thì ở bước 1 các bạn phải chọn đúng ổ đĩa C:, ở bước 3 các bạn phải điền vào đó là grldr.mbr Giờ khởi động lại máy xem thử đã có menu vào grub4dos chưa :001: Với cả 2 cách làm trên các bạn có thể edit file menu.lst và làm 1 menu boot vào các chuơng trình cho riêng mình rồi đấy k: Và khi làm như vậy ta còn có thể cập nhật các phiên bản của chương trình rất là đơn giản, chỉ cần copy vào đĩa C: và đổi tên cho phù hợp là k: rồi. 1 ví dụ về file menu.lst: [NOTE]color yellow/black light-red/black yellow/green red/green deufault /default timeout=30 title GRUB4DOS MAKE BY MR. TAKECHIJ ^^! root title root title Back to first select menu find --set-root --ignore-floppies /bootmgr chainloader /bootmgr title Microsoft MSDOS find --set-root /msdos.img map --mem /msdos.img (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) title Hiren's Boot ISO fallback 3 find --set-root /Hiren.iso map /Hiren.iso (0xff) || map --mem /Hiren.iso (0xff) map --hook chainloader (0xff) title Khoi dong lai may reboot title Tat may halt[/NOTE] còn tiếp >>>>>
Bạn ơi có cách nào làm cái file msdos.ima (lap1) khi bỏ vào menu.lst (lap4) thì có giao diện giống GRUB4DOS. Tích hợp cái menu.lst có thể tuỳ chọn lên xuống, nhưng vào msdos.ima thì ko chọn được, lỡ nhấn nhầm thì hơi mệt.
với kiến thức hiện tại của mình thì câu trả lời là KHÔNG mình từng tìm hiểu rất nhiều file batch được lập trình rất công phu nhưng người ta cũng chỉ làm menu chọn số như mình thôi
Hi, vậy có cách nào khắc phục nhược điểm của cái file msdos.ima đó không? Vd khi menu dos: nhấn 1 số bất kỳ nó vào thẳng lun, làm sao để khi chọn xong enter thì nó mới xử lý kiểu như trong hiren boot vậy bạn. Bạn chỉ mình làm code nút "Back menu" cho msdos này đi. Cảm ơn.
khi vào MSDOS rồi thì không back ra lại Grub4dos được Sau khi nhấn nút khỏi động, sau quá trình post bios, đọc mbr thì grub4dos được gọi, tại đây, Grub4dos sẽ quản lý các Boot record khác, ví dụ như quản lý boot record của win7, của winxp, của msdos, của hirent boot MSDOS không có khả năng tương thích ngược với Grub4dos, vì vậy không thể làm "Back Menu" cho MSDOS để quay trở lại Grub4Dos được Ví dụ như khi bạn lựa chọn vào Hirent Boot hay Win7, bạn vẫn có thể quay trở lại menu của Grub4dos, lý do là bởi vì Hirent Boot nó cũng dùng Grub4dos để quản lý Boot Record của nó, còn Windows7 thì lại hỗ trợ tương thích ngược, Boot Manager của Window7 nó hỗ trợ quản lý cả Grub4Dos Trong Msdos, từ các Mainmenu ở trong bài viết (menu 1... 2... ...), bạn có thể tích hợp Submenu cho nó ví dụ như khi bạn chọn menu số 2 thì nó sẽ hiện ra một loạt các Menu khác (gọi là Submenu), từ các Submenu này, bạn có thể quay trở lại Main Menu Nếu cách giải thích mình khó hiểu thì bạn có thể đặt câu hỏi để mình giải đáp cụ thể hơn
Bạn có thể hướng dẫn chi tiết cho mình cách làm Submenu này đi, thú vị ghê, đang làm bài kt về mấy cái này thầy ko giản nản wá. À tiện đây bạn có thể hướng dẫn cách làm hiren boot bằng usb với GRUB4DOS được ko, mình thấy các diễn đàn đều chỉ như nhau mà ko hướng dẫn chi tiết cách làm code cho menu hiren boot bằng usb, toàn làm rồi bắt con người ta down về copy vào mà ko chú thích. Hehe, mình hơi tham lam chút bạn giúp mình nha ^^.
các bài lab của mình có hướng dẫn cụ thể làm với HDD, USB cũng tương tự, mai hoặc mốt gì mình sẽ viết bài làm hirent boot trên usb để bạn tham khảo, cũng giống như làm với HDD vậy, nếu bạn hiểu được cách làm trên HDD thì bạn sẽ làm được trên USB Hiện tại mình không có nhiều thời gian để hướng dẫn cụ thể cho bạn làm Submenu cho MSDOS Mình chỉ hướng dẫn sơ qua thôi nhé Hiện tại bạn Main menu của bạn đang nằm trong file Autoexec.bat Bạn tạo ra một file ví dụ như submenu.bat, nội dung của submenu.bat bạn làm cũng tương tự như trong file Autoexec.bat vậy Trong Main menu, bạn chỉ cần gọi tới file submenu.bat, như vậy là ok Code Main menu Mã: @echo off echo 2. Dat dia chi IPv6 echo 3. Xoa dia chi IPv6 echo 4. Xem thong tin tat ca card mang echo 5. Dat dia chi DNS echo 6. Cau Hinh Dia Chi IPv4 echo 1. Thoat CHOICE /C:12345 /m "Chon chuc nang: " If errorlevel 6 goto submenu If errorlevel 5 goto dns If errorlevel 4 goto show If errorlevel 3 goto delete If errorlevel 2 goto set If errorlevel 1 goto exit :dns cls set /p dns=Nhap dia chi DNS echo Dang thuc hien netsh interface ipv6 set dnsservers "local area connection" %dns% goto exit :set cls set /p ipv6=Nhap Dia Chi IPv6: echo Dang thuc hien... netsh interface ipv6 set address "local area connection" %ipv6% unicast goto exit :delete set /p ipv6=Nhap Dia Chi IPv6:: echo Dang thuc hien... netsh interface ipv6 delete address "local area connection" %ip% goto exit :show netsh interface ipv6 show addresses echo oK. goto exit :submenu submenu.bat :exit pause code file submenu.bat Mã: @echo off color 5e title IP Address Configuration - mr.takechj - VIETHANITC :batdau cls echo. echo IP ADDRESS CONFIGURATION - mr.takechj - VIETHANITC echo. echo. echo Chuong trinh khong co chuc nang kiem loi echo Yeu cau thong tin nhap vao chinh xac echo. echo. echo. Chon Cong Viec echo 1. Dat IP Dong (DHCP) echo 2. Dat IP bang tay (Ip tinh) echo 3. Renew IP echo 4. Xem lai cau hinh echo 5. Dat DNS: 8.8.8.8 echo 6. Thoat! echo. ............................................ CHOICE /C:123456 /m "Vui Long Chon:" If errorlevel 6 goto thoat If errorlevel 5 goto dns If errorlevel 4 goto ipconfigx If errorlevel 3 goto renew If errorlevel 2 goto setip If errorlevel 1 goto dhcp :dhcp cls echo Dang thuc hien.... netsh interface ip set address "local area connection" dhcp goto exit :dns cls echo Dang thuc hien.... netsh interface ip set dns "local area connection" static 8.8.8.8 primary :renew echo Dang thuc hien.... ipconfig /renew ipconfig /release cls goto xemlai :setip cls set /p ip=Moi Ban Nhap Dia Chi IPv4: set /p nm=Moi Ban Nhap Subnet Mask: set /p gw=Moi Ban Nhap Default Gateway: echo Dang thuc hien.... netsh interface ip set address "local area connection" static %ip% %nm% %gw% 1 cls echo IP Address Da Duoc Thay Doi! goto thoat :xemlai cls echo Ban co muon kiem tra lai bang lenh "ipconfig /all" khong? set /p rv=Y / N = Co / Khong : IF /I NOT '%rv%'=='Y' IF /I NOT '%rv%'=='N' goto ipconfigx IF /I '%rv%'=='Y' ( goto ipconfigx ) goto exit :ipconfigx cls ipconfig /all | more /c :exit cls echo Ban co muon thuc hien lai khong? set /p ex=Y / N = Co / Khong : IF /I NOT '%ex%'=='Y' IF /I NOT '%ex%'=='N' goto batdau IF /I '%ex%'=='Y' ( goto batdau ) :thoat echo Bam phim bat ki de tiep tuc pause