• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 如何用c將512字節文件文件寫入主引導扇區?

    發表于:2007-05-26來源:作者:點擊數: 標簽:
    CU的win_hate 說是這樣: 如果在 linux 下, 比如你的硬盤是 hda fd = open (/dev/hda, O_RDWR); write (fd, buf, 512); 就 OK 了。 上面的代碼是 gpl 了的, 要是寫壞了扇區,機器啟動不了, 概不負責。 有點不懂,/dev/hda不是一直打開著的嗎?為什么這里
     CU的win_hate 說是這樣:
    如果在 linux 下, 比如你的硬盤是 hda

    fd = open ("/dev/hda", O_RDWR);
    write (fd, buf, 512);

    就 OK 了。

    上面的代碼是 gpl 了的, 要是寫壞了扇區,機器啟動不了, 概不負責。



    有點不懂,/dev/hda不是一直打開著的嗎?為什么這里能重復打開呢?可能我對文件的理解不夠,UNIX把什么都看成是文件,一個文件是能在不同的進程同時打開的。

     

    文件是可以以只讀方式共享打開的,但寫的時候就要獨占了。
     
    老大,上面的做法可以嗎?假如我寫了這個程序執行了,還可以用 fdisk /mbr恢復過來嗎?
     你拿hdb試試了,hoh
     就寫446字節因該沒問題的
    寫512的話,分區表就沒了,沒救的
     
    主引導扇區的前面446個字節是引導程序,后面64個字節才是分區表。分區共有4個,第個占16個字節。
     這個程序錯在那里?是讀/dev/ad0s1的446-512字節的
     
    #include <fcntl.h>
    #include <stdio.h>
    #include <unistd.h>
    int
    main(vid)
    {
            int         fd,fdp,n;
            char        buf[66];
            if((fd=open("/dev/ad0s1",O_RDONLY))<0) {
                    perror("open error");
                    exit(1);
            }
           if((fdp=open("66_par",O_RDWR|O_CREAT))<0) {
                    perror("oepn fdp error");
                    exit(1);
            }
            if(lseek(fd,446,SEEK_SET)<0) {
                    perror("lseek error");
                    exit(1);
            }
            if((n=read(fd,buf,sizeof(buf))) <0  ) {
                    perror("read error");
                    exit(1);
            }
            if(write(fdp,buf,n) != n) {
                    perror("write error");
                    exit(1);
            }
            close(fd);
            close(fdp);
            return(0);
    }
      # ./a.out
    read error: Invalid argument

    why ?
     
    沒問題呀,不過我是linux,用的是/dev/hda(或hda1)
     上面的程序在linux用沒問題??!
     真奇怪呀???我在linux試也沒問題。。

    原文轉自:http://www.kjueaiud.com

    評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>