Phú Nhuận

Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
Phú Nhuận

Sưu Tầm, Lưu Trữ


    Quá trình khởi động máy -sự cố và cách khắc phục

    Admin
    Admin
    Admin


    Tổng số bài gửi : 272
    Join date : 18/04/2008
    Age : 39

    Quá trình khởi động máy -sự cố và cách khắc phục Empty Quá trình khởi động máy -sự cố và cách khắc phục

    Bài gửi by Admin Sun May 02, 2010 2:57 pm

    Quá trình khởi động máy -sự cố và cách khắc phục


    Chúng ta sẽ lần lượt quan sát từng bước xem giai
    đoạn khởi động máy này được thực thi theo một tiến trình như thế nào để
    khi một máy tính có thể bị trục trặc ngay trong quá trình khởi động đó
    thì chúng ta có thể nhận biết được sơ bộ nguyên nhân nào gây ra .

    +Đầu tiên ta bắt đầu bật công tắc Power On để khởi động máy tính

    +Bộ nguồn máy tính bắt đầu được cấp nguồn và thao tác đầu tiên của
    nó là bắt đầu thực thi bứoc đầu tiên trong giai đoạn POST (Power on
    selftest),nó sẽ đi kiểm tra các giá trị điện thế logic ở ngõ ra đã thực
    sự ổn định chưa +5v ,-5v,+12v,-12v ,đúng chưa .Giai đoạn mà nó tự
    đi POST ,nguồn này sẽ diễn ra rất nhanh ,khoảng từ 0.5-2 giây
    .Nếu trong quá trình kiểm tra có sự cố thì nó sẽ không cấp nguồn cho
    mainboard nữa và có thể treo máy luôn hoặc dùng tín hiệu âm thanh (Error
    Sound Code)
    để báo cho ta biết .NẾu như quá trình kiểm tra tốt
    không có chuyện gì thì lúc này nó sẽ gửi tín hiệu báo nguồn tốt PG
    (Power good signal),tín hiệu này sẽ kích vào một mạch định thời gian Timer
    Microcontroller
    trên main ,cấp nguồn cho CPU và bắt đầu ở vào trạng
    thái sẳn sàng làm việc .

    +Sau khi được cấp nguồn ,công việc đầu tiên CPU đi thực thi là nó
    sẽ tiến hành đi đọc ROM Bios .Như vậy lúc này có thể nói Rom Bios đóng
    vai trò là người dẫn đường đầu tiên cho CPU trong quá trình khởi động .

    Thực chất trong Rom Bios sẽ mang một đoạn chương trình và yêu cầu
    CPU phải tiến hành thực thi đoạn chương trình này ở mỗi lần khởi động
    máy .Lúc này CPU sẽ lần lượt thực hiện các lệnh trong Rom Bios theo từng
    bước sau

    -Tiến hành kiểm tra các thiết bị cơ bản nhất trên hệ thống để xem
    tình trạng làm việc của các thiết bị này đã sẳn sàng chưa .Các thiết bị
    cơ bản này sẽ bao gồm :Ram ,HDD ,VGA ,các bộ chipset và mainboard..Trong
    quá trình kiểm tra từng thiết bị ,nếu tốt nó sẽ kiểm tra thiết bị kế
    típ ,nhưng nếu gặp sự cố trong giai đọan này thì hoặc là máy sẽ treo
    luôn ,không có hình ảnh âm thanh gì ,hoặc là máy sẽ dùng tín hiệu báo
    lỗi âm thanh để thông báo cho ta biết .Lúc ày chưa thể hiện hình được vì
    CPU chưa đọc Rom màn hình (Rom video )

    -Khi kiểm tra Ram trong giai đoạn này thì thông thường ta sẽ gặp
    một số lỗi và tình mày như sau :Nếu ta gắm Ram sai Bank thì máy sẽ không
    lên hình ảnh và không báo lỗi gì cả ,nhưng nếu ta gắm Ram lõng chân hay
    Ram hư thì máy sẽ dùng tín hiệu âm thanh báo lỗi cho ta biết và thông
    thường mã âm thanh báo lỗi của Ram là nó sẽ bip từng tiếng ngắn và liên
    tục nhau .

    -Khi kiểm tra đĩa cứng thì thông thường ta cũng sẽ gặp một số lỗi
    sau :Nếu ta gắn 1 đĩa cứng bị hư ,gắn lõng dây hoặc set Jumper đĩa cứng
    sai thì chẳng ảnh hưởng gì cả ,máy vẫn làm việc bình thừong chỉ có ta
    không thể detect được đĩa cứng đó trong Cmos mà thôi và tất nhiên cũng
    chẳng thể vào Win đựoc .

    -Khi kiểm tra VGA :Nếu ta gắn VGA tốt ,bình thường thì không có
    chuyện gì xảy ra cả ,nhưng nếu ta gắn VGA bị hư hay chưa gắn thì lúc
    này máy sẽ phát tín hiệu báo lỗi và tín hiệu này sẽ là một tiếng bip kéo
    dài và 3 tiếng bip ngắn .Nhờ code báo lỗi của VGA ta có thể lợi dụng nó
    để xem mainboard hay CPU có hư hay không .Giả sử ta bật máy lên chẳng
    có âm thanh hình ảnh gì và ta nghi ngờ là có thể hư main hay CPU .

    Để xác định xem là có hư main hay không ta có thể thử bằng cách
    :cấp nguồn cho main bình thường ,gắm Ram ,loa và nhổ VGA ra .

    Bật nguồn lên ,nếu máy báo lỗi VGA ra loa thì có nghĩa là main và
    CPU vẫn có thể làm việc bình thừong ,còn nếu như máy không báo lỗi thì
    ta có thể xác định cò thể là do main .

    -Và cuối cùng nó sẽ đi kiểm tra các thành phần còn lại trên main và
    các bộ chipset hệ thống .Nếu quá trình kiểm tra này hoàn tất mà không
    có lỗi gì cả lúc này ta sẽ nghe đựoc một tiếng bip ngắn ,tiếng bip này
    xác nhận cho ta biết là giai đoạn POST đã thành công .

    +CPU tiếp tục đi đọc Rom màn hình và bắt đầu thông tin lên màn hình
    các thông tin đầu tiên mà nó sẽ thông báo cho ta biết là hãng sản xuất
    của card màn hình ,model của card và dung lượng Ram màn hình của nó.Giai
    đoạn báo thông tin này đối với các máy đời cũ diễn ra khá chậm ,nhưng
    đối với các máy ngày nay nó diễn ra rất nhanh đế nỗi có nhiều khi ta xem
    không kịp .

    +Tiếp theo ,nó sẽ đi dò tìm trên hệ thống để xem ta có đang sử dụng
    một adapter card nào có gán Rom hay không ,nếu không thì thôi nhưng nếu
    có thì nó sẽ đi đọc luôn thông tin trong Rom của các Adapter card đó .

    +Đọc và báo thông tin về CPU ,main và Rom Bios .Về CPU nó sẽ báo
    hãng sản xuất CPU ,loại CPU và tần số làm việc của nó ;về main nó sẽ báo
    loại main , đời main và bộ chipset của main ;về Rom Bios có thể nó sẽ
    báo hãng sản xuất ,ngày sản xuất và version của nó .

    +Test Ram :Thông thường khi test Ram nó sẽ test Ram 3 lần và trong
    mỗi lần đó nó sẽ test đi test lại bộ nhớ qui ước 2 lần .

    +Đến 1 địa chỉ trên Ram để đọc 1 byte ở giá trị này xem hệ thống
    đang boot nóng (warm boot :boot bằng Ctrl-Alt-Del)hay boot lạnh (cold
    boot:Reset hay tắt máy ). Địa chỉ này là 0000:0472,nếu byte này
    có giá trị là 1234h thì hệ thống đang boot nóng ,còn nếu là 1 giá
    trị khác thì hệ thống đang boot lạnh .

    Nếu hệ thống đang boot lạnh thì khởi động lại nó phải thực thi từng
    bước giống như lúc đầu .Nhưng nếu hệ thống đang boot nóng thì khi boot
    lại nó sẽ bỏ qua các bước đã thực thi rồi ví dụ như đọc CPU ,test Ram
    …để nhằm làm cho quá trình khởi động nhanh hơn .

    +CPU đi đọc CMOS : Đọc các thông tin đang được khai báo trong Cmos
    rồi so sánh với thực tế trên hệ thống ,nếu đúng thì làm tiếp nhưng nếu
    thông tin đang khai báo trong Cmos bị sai thì có thể máy sẽ báo lỗi hoặc
    treo máy .

    Như vậy thì CPU sẽ đi đọc Cmos ngay sau khi test Ram ,nên thông
    thường nếu ta đang khởi động mà máy test Ram xong lại treo máy thì hầu
    hết 90 % nguyên nhân là do các thông số trong Bios gây ra .Kiểm tra lại
    Cmos

    +Đến mục thứ hai Bios Features Setup trong Cmos đọc mục Boot
    Sequence để xem ta đang cho khởi động từ ổ đĩa nào :A:C hay C:A .Nếu
    biết được ổ đĩa đang được cho khởi động thì đi đọc ngay sector vật lý
    đầu tiên của ổ đĩa đó .Nếu ta đang cho boot A:C thì CPU sẽ đi đọc sector
    vật lý đầu tiên của đĩa A ;và đó chính là DBR của A ;nhưng nếu ta cho
    boot C:A thì nó sẽ đi đọc sector vật lý đầu tiên trên đĩa cứng và sector
    này chính là bảng Master partition table .Bây giờ giả sử ta đang cho
    boot A: C:,CPU sẽ đi đọc bảng partition chủ trên đĩa cứng .

    +Đọc bảng Partition của đĩa cứng -Đầu tiên nó sẽ đụng 446 bytes của
    đoạn chương trình ngắn và sẽ thực thi 3 lệnh trong đoạn chương trình
    ngắn này .

    +kiểm tra 64 bytes của bảng thông số vật lý của partition bên dưới
    rồi so sánh với thực tế trên đĩa xem có đúng không .Nếu đúng thì làm
    tiếp nhưng nếu sai thì hoặc là treo máy ,hoặc là sẽ báo một trong các
    câu thông báo lỗi sau :Invalid partition table
    ,Error loading operating system ,Missing operating system..


    +Kiểm tra xem ta đang chia làm bao nhiêu partition và partition nào
    đang được set active .Còn nếu trong quá trình kiểm tra nó không thấy
    partition nào được set active thì có thể ta sẽ nhận được thông báo :Press any key to reboot ,No Rom Basic ,system halt …

    +Nếu đã xác định được partition nào đang được set active rồi thì đi
    đọc sector logic đầu tiên của partition hay ổ đĩa logic đó hay nói cách
    khác lúc này CPU sẽ đi đọc DBR của ổ đĩa này bởi vì theo qui định của
    Dos ,sector logic đầu tiên của một ổ đĩa lúc nào cũng phải là DBR

    +Khi đọc DBR ,vì bảng thông số nội bộ của DBR lại nằm tr6en nên đầu
    tiên nó sẽ đọc 3 bytes nhảy trứoc EB 3C 90 hay EB 58 90
    để nhảy qua bảng thông số nội bộ , đến và bắt đầu thực thi 2 lệnh của
    đạng chương trình mồi DBR

    +Kiểm tra 59 bytes hay 87 bytes của bảng thông số nội bộ DBR bên
    trên rồi so sánh với thực tế nội bộ trên ổ đĩa đó xem có đúng không .Nếu
    đúng thì làm tiếp nhưng nếu sai thì hệ thống sẽ treo máy và không cho
    phép ta khởi động được nữa ,có thể lúc này ta gặp một con trỏ nhấp nháy
    trên màn hình :d .

    +Đến các cluster đầu tiên trên đĩa ,thông thường đối với Diskedit
    là cluster 2 để tải Io.sys lên Ram .Nếu không tìm thấy Io.sys ở vị trí
    này ta sẽ nhận được một câu thông báo :Non
    system Disk or Disk error .Replace and press any key
    ….Nhưng
    nếu tải được Io.sys lên Ram rồi thì ta có thể xem như quá trình khởi
    động đã thành công vì lúc này Ron Bios trả quyền điều khiển lại cho hệ
    điều hành .

    +Có một số lưu ý về Io.sys :Io.sys chính là 1 phần của hệ điều hành
    và nó phải có vị trí xác định ,nó phải nằm ngay các cluster đầu tiên và
    không bao giờ thay đổi tr6en đĩa .Nếu mất Io.sys đi ,vì đặc điểm này
    nên ta không thể dùng lệnh copy bình thường để copy lại nó mà ta phải
    dùng Sys để tạo hay Disktool –make a disk bootable .Như vậy Sys hay
    Disktool cũng là một tập tin dùng để copy nhưng nó copy Io.sys vào đúng
    ngay vị trí của nó ,ngoài ra nó còn tạo cho ta cả đoạn chương trình mồi
    của DBR

    Phần Kết

    Bên trên là các bước cụ thể trong quá trình khởi động máy ,hy vọng
    rằng bài này sẽ giúp các bạn xác định nguyên nhân hư hỏng một cách logic
    hơn ,nhanh hơn và hiệu quả hơn

      Hôm nay: Thu May 16, 2024 11:14 pm