Lab 5: LÀM VIỆC VỚI GRUB4DOS (p2)

Thảo luận trong 'Thủ thuật Windows - System' bắt đầu bởi takechij, 9 Tháng một 2011.

  1. Offline

    takechij

    • Windows 98

    • Try so hard
    Số bài viết:
    386
    Đã được thích:
    165
    Điểm thành tích:
    140
    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.mbrmenu.lst
    Link: http://www.mediafire.com/?erd5bubwa755nxj


    Phần mềm bootice v8.0
    Link: http://www.mediafire.com/?hn0x3o3636oe2h9
    2. 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]

    [IMG]

    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:

    [IMG]

    Sau khi thực hiện các lệnh trên thì nó như thế này:

    [IMG]

    Copy 3 file
    grldr, grldr.mbr 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 menu.lst vào ổ C: là OK

    [IMG]

    [IMG]

    [IMG]

    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 :eek: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à
    :eek: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 >>>>>
    chickenkon, frisky_huntersvaonghe thích bài này.
  2. Offline

    vaonghe

    • Thành Viên Mới

    Số bài viết:
    6
    Đã được thích:
    2
    Điểm thành tích:
    0
    Sao lâu vậy bác? Post nữa đi
  3. Offline

    frisky_hunters

    • Thành Viên Mới

    Số bài viết:
    9
    Đã được thích:
    1
    Điểm thành tích:
    0
    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.
  4. Offline

    takechij

    • Windows 98

    • Try so hard
    Số bài viết:
    386
    Đã được thích:
    165
    Điểm thành tích:
    140
    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
    frisky_hunters thích bài này.
  5. Offline

    frisky_hunters

    • Thành Viên Mới

    Số bài viết:
    9
    Đã được thích:
    1
    Điểm thành tích:
    0
    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.
  6. Offline

    takechij

    • Windows 98

    • Try so hard
    Số bài viết:
    386
    Đã được thích:
    165
    Điểm thành tích:
    140
    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
    frisky_hunters thích bài này.
  7. Offline

    frisky_hunters

    • Thành Viên Mới

    Số bài viết:
    9
    Đã được thích:
    1
    Điểm thành tích:
    0
    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á. X_X

    À 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 ^^.
  8. Offline

    takechij

    • Windows 98

    • Try so hard
    Số bài viết:
    386
    Đã được thích:
    165
    Điểm thành tích:
    140
    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
    

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí