windowsdd包制作(win dd包)

0 399
本文目录: 1、Digital Ocean 搭建 windows 系统 2、如何用linux的dd命令制作windows的u盘启动盘? 3、如何用lin...

本文目录:

Digital Ocean 搭建 windows 系统

Digital Ocean 是海外性价比挺高的VPS,新用户注册有送$50的优惠。 注册传送门

注册很简单,输入邮箱/密码,点击【Create Your Account】即可,登录后配置支付信息。可使用信用卡、PayPal,默认先支付$5美元。过程简单,就不再赘述。Just Do It

以下正文:

1、创建一个服务器实例(Create Droplets)

2、选择服务器配置

这里我用高富帅选项(2核4G内存,80g的固态和4T的流量/月)

3、选择机房

4、完善信息

5、点击新创建的实例,点击【Recovery】,点击【Boot from Recovery ISO】

6、点击右上角的,绿色按钮,关机开机

7、开机完成,进入实例的控制台(Console)

8、使用SSH工具远程登录服务器,我这里使用Xshell,登录帐号密码为(root/ae5e-a016-65bf-ea8b)

登录成功后,如果recovery console还在一开始的界面,输入6,回车,进入shell

9、安装dd包,这里使用了xiaofd分享的win10dd包,其他系统(Winserver,win7,win8同理)

wget -O- | gunzip | dd of=/dev/vda

用户名:xiaofd

密码:xiaofd.win

复制语句到终端中,回车

10、关掉Xshell、关掉Recovery Console,回到digital ocean中实例的【Recovery】界面

11、再次打开

12、Turn On 完成,进入Console

13、输入xiaofd的默认帐号密码

14、配置网络,初次进来,服务器没有配置网络,还没加入公网,本地ping不通,也远程不过去。先在这个控制台配置好网络连接。

由于分辨率问题和网络问题,很多通过控制台访问的都不能用鼠标操作,比如你点击回收站,但实际上点不到,点击位置偏移了。

所以我都是通过键盘来操作

15、找到控制面板,配置网络为

16、也可以使用管理员权限运行cmd,输入命令

netsh interface ip set address name="以太网 2" source=static addr=46.101.146.4 mask=255.255.192.0 gateway=46.101.128.1

netsh interface ip set dns name="以太网 2" source=static addr=1.1.1.1 register=primary

netsh interface ip add dns name="以太网 2" addr=1.0.0.1 index=2

17、拓展硬盘大小

18、本地远程访问成功连接

如何用linux的dd命令制作windows的u盘启动盘?

linux dd命令[用于制作U盘启动盘的神奇的命令]linux dd命令刻录启动U盘详解dd命令做usb启动盘十分方便,只须:sudo

dd if=xxx.iso of=/dev/sdb bs=1M

用以上命令前必须卸载u盘,sdb是你的u盘,bs=1M是块的大小,后面的数值大,写的速度相对块一点,但也不是无限的,我一般选2M,注意,执行命令后很块完成,但u盘还在闪,等不闪了,安全移除。

注意:你的镜像需要支持dd命令。

dd命令的解释。

定义

dd是Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

参数

1. if=文件名:输入文件名,缺省为标准输入。即指定源文件。 if=input file

2. of=文件名:输出文件名,缺省为标准输出。即指定目的文件。 of=output file

3. ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。

obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。

bs=bytes:同时设置读入/输出的块大小为bytes个字节。

4. cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。

5. skip=blocks:从输入文件开头跳过blocks个块后再开始复制。

6. seek=blocks:从输出文件开头跳过blocks个块后再开始复制。

注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。

7. count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。

8. conv=conversion:用指定的参数转换文件。

ascii:转换ebcdic为ascii

ebcdic:转换ascii为ebcdic

ibm:转换ascii为alternate ebcdic

block:把每一行转换为长度为cbs,不足部分用空格填充

unblock:使每一行的长度都为cbs,不足部分用空格填充

lcase:把大写字符转换为小写字符

ucase:把小写字符转换为大写字符

swab:交换输入的每对字节

noerror:出错时不停止

notrunc:不截短输出文件

sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。

编辑本段dd应用实例。

1.将本地的/dev/hdb整盘备份到/dev/hdd

dd if=/dev/hdb of=/dev/hdd

2.将/dev/hdb全盘数据备份到指定路径的image文件

dd if=/dev/hdb of=/root/image

3.将备份文件恢复到指定盘

dd if=/root/image of=/dev/hdb

4.备份/dev/hdb全盘数据,并利用gzip工具进行压缩,保存到指定路径

dd if=/dev/hdb | gzip /root/image.gz

5.将压缩的备份文件恢复到指定盘

gzip -dc /root/image.gz | dd of=/dev/hdb

6.备份磁盘开始的512个字节大小的MBR信息到指定文件

dd if=/dev/hda of=/root/image count=1 bs=512

count=1指仅拷贝一个块;bs=512指块大小为512个字节。

恢复:dd if=/root/image of=/dev/hda

7.备份软盘

dd if=/dev/fd0 of=disk.img count=1 bs=1440k (即块大小为1.44M)

8.拷贝内存内容到硬盘

dd if=/dev/mem of=/root/mem.bin bs=1024 (指定块大小为1k)

9.拷贝光盘内容到指定文件夹,并保存为cd.iso文件

dd if=/dev/cdrom(hdc) of=/root/cd.iso

10.增加swap分区文件大小

第一步:创建一个大小为256M的文件:

dd if=/dev/zero of=/swapfile bs=1024 count=262144

第二步:把这个文件变成swap文件:

mkswap /swapfile

第三步:启用这个swap文件:

swapon /swapfile

第四步:编辑/etc/fstab文件,使在每次开机时自动加载swap文件:

/swapfile swap swap default 0 0

11.销毁磁盘数据

dd if=/dev/urandom of=/dev/hda1

注意:利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据。

12.测试硬盘的读写速度

dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file

dd if=/root/1Gb.file bs=64k | dd of=/dev/null

通过以上两个命令输出的命令执行时间,可以计算出硬盘的读、写速度。

13.确定硬盘的最佳块大小:

dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file

dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file

dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file

dd if=/dev/zero bs=8192 count=125000 of=/root/1Gb.file

通过比较以上命令输出中所显示的命令执行时间,即可确定系统最佳的块大小。

14.修复硬盘

dd if=/dev/sda of=/dev/sda

当硬盘较长时间(比如1,2年)放置不使用后,磁盘上会产生magnetic fluxpoint。当磁头读到这些区域时会遇到困难,并可能导致I/O错误。当这种情况影响到硬盘的第一个扇区时,可能导致硬盘报废。上边的命令有可能使这些数据起死回生。且这个过程是安全,高效的。

如何用linux的dd命令制作windows的u盘启动盘

介绍如何在Windows7操作系统下,实现linux的dd命令制作windows的u盘启动盘:

工具:

Linux发行版的ISO镜像或IMG镜像

Windows7操作系统

DDforWindows软件命令行工具版本0.6-beta3

图形界面工具ddwin.exe.

用于安装Linux系统的U盘一个,其容量大于ISO镜像.

1.我提供ddwin.exe百度盘链接

.

2.打开ddwin.exe软件,默认已经选定了当前U盘.选择ddwin.exe上[Choosefile]按钮,选择你的ISO镜像,选择界面的文件类型请改为所有类型.

3.选择ddwin.exe的[Restore]按钮,它首先会提示你ISO镜像是小于U盘大小的.(必须要小于啊,不然怎么烧录进去),我们选择[是]表示确认.接下来ddwin.exe询问你是否要烧录,我们选择[是].

4.ddwin.exe正在烧录ISO镜像到U盘.

5.ISO镜像已成功dd到U盘,至此,一个Linux系统启动U盘我们已经制作完成.

如何为自己编写的应用程序制作Windows安装包

 你也许正在为发布自己开发的应用程序和组件犯难,因为按照传统的方法,需要写一些复杂的安装脚本。本文的目的就是帮助.NET程序员熟悉使用非常简单方便的工具来发布自己的应用程序而无须编写安装脚本。微软的.NET安装发布平台把这一切简化为几次简单点击,它提供了自学习的,简单驱动的向导方式。很多使用Visual Studio .NET的程序员没有充分利用VS自带的Windows Installer工具而选择了其他的工具。其实,它使用起来非常简单。

Windows Installer的特性

·和传统的基于脚本的安装工具对比,它基于一个数据驱动的模型,在单个包内提供所有的安装数据和指令

·它支持自修复功能--程序可以自动重新安装

·它提供安装时回退到某一步骤的功能

创建发布工程

Visual Studio.NET里提供了四种类型发布工程的模板:

·安装工程:为基于windows的应用程序建立安装包

·合并模块工程(.msm):可以被多个程序共享的包组件

·Web安装工程:为一个web应用程序建立安装包

·Cab工程(.cab):创建cab文件

与此同时,安装向导也提供了伴随创建发布工程的过程中的帮助步骤:

·对于一个安装工程,将把需要安装的文件发布到目标计算机的一个程序目录下

·对于一个Web安装工程,将把需要安装的文件发布到Web服务器的一个虚拟目录下

注意:如果你创建了一个标准发布工程,后来打算发布它到Web上,你必须重新创建一个新工程。

五步制作程序安装包

第一步:打开VS IDE,选择File-New-Setup and Deployment Projects. 选择Setup Wizard。给出存储工程的文件名和存放目录。如图1所示。

第二步:这里将会显示安装工程向导的对话框的欢迎界面。这是一个简单的四步向导,点击Next,第二步将会询问安装的类型,请选择合适的回答,这里我选择windows应用程序的安装,点击Next。

第三步:这里向导将会让你添加开发的程序或者组件,以及其他一些所需要的文件,如文档文件等。

最后,你会看到如图5所示的内容:

这里,应用程序文件夹是你的程序和支持文件的安装文件夹,而用户的桌面和程序菜单分别是目标系统的桌面和程序菜单。

第四步:

你可以在制作过程中选择使用如下的编辑器:

文件系统编辑器:可以增加工程的输出,文件和其他一些项到发布工程中,并且指定它们在目标计算机上的安装位置。

注册表设置管理编辑器:可以指定需要加入到目标计算机的注册表中的一些键值。

文件类型管理编辑器:建立目标计算机上的文件关联。

定制处理管理编辑器:可以指定在安装后执行的一些处理(如重启)等。

启动条件管理编辑器:可以为成功完成一次安装指定必须满足的一些条件。

用户界面管理编辑器:你可以用它来设置安装过程中显示的一些预定义的对话框,图7显示了增加一个用户许可证协议和序列号对话框的例子。

结束语

如果你还在使用传统的安装脚本程序的话,来试试使用Windows Installer吧。如果你购买了正版的Visual Studio.NET,那么它本身就附带提供了Windows Installer。现在是你熟悉和使用它的时候了。

如何在windows下运用dd来下修复坏块

你好,对于windows来说,相比unix或linux 操作起来更麻烦,其实windows也是可以使用dd的,

运用dd和UE基本上可以起到和使用bbed一样的效果。大家可以在这里下载dd for win版本dd-0.6beta3

SQL SELECT * FROM v$version;

BANNER

----------------------------------------------------------------

Oracle DATABASE 10g Enterprise Edition Release 10.2.0.4.0 - Prod

PL/SQL Release 10.2.0.4.0 - Production

CORE 10.2.0.4.0 Production

TNS FOR 32-bit Windows: Version 10.2.0.4.0 - Production

NLSRTL Version 10.2.0.4.0 - Production

SQL CREATE TABLE test1 AS SELECT owner,object_id,object_name FROM dba_objects

2 WHERE rownum 500;

表已创建。

SQL SELECT header_file,header_block FROM dba_segments WHERE segment_name='TEST1';

HEADER_FILE HEADER_BLOCK

----------- ------------

5 11

SQL SELECT DISTINCT dbms_rowid.rowid_relative_fno(rowid) file# FROM test1;

FILE#

----------

5

SQL SELECT DISTINCT dbms_rowid.rowid_block_number(rowid) blk# FROM test1;

BLK#

----------

13

12

SQL SHOW parameter db_block

NAME TYPE VALUE

------------------------------------ ----------- ------------------------

db_block_buffers INTEGER 0

db_block_checking string FALSE

db_block_checksum string TRUE

db_block_size INTEGER 8192

-- 关闭数据库,使用万能的UE修改file 5 block 13

SQL conn /AS sysdba

已连接。

SQL shutdown immediate;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL startup

ORACLE 例程已经启动。

Total System Global Area 314572800 bytes

Fixed SIZE 1296452 bytes

Variable SIZE 96470972 bytes

DATABASE Buffers 209715200 bytes

Redo Buffers 7090176 bytes

数据库装载完毕。

数据库已经打开。

SQL conn roger/roger

已连接。

SQL SELECT COUNT(*) FROM test1;

SELECT COUNT(*) FROM test1

*

第 1 行出现错误:

ORA-01578: ORACLE 数据块损坏 (文件号 5, 块号 13)

ORA-01110: 数据文件 5: 'G:\ORACLE\PRODUCT\10.2.0\ORADATA\ALEX\ROGER01.DBF'

说明一下的是,我这里直接修改了块头中的flg,将其修改为0xff,oracle将直接标记为物理坏块。

C:\ dbv file=G:\ORACLE\PRODUCT\10.2.0\ORADATA\ALEX\ROGER01.DBF blocksize=8192

DBVERIFY: Release 10.2.0.4.0 - Production on 星期六 7月 9 15:48:35 2011

Copyright (c) 1982, 2007, Oracle. All rights reserved.

DBVERIFY - 开始验证: FILE = G:\ORACLE\PRODUCT\10.2.0\ORADATA\ALEX\ROGER01.DBF

页 13 标记为损坏

Corrupt block relative dba: 0x0140000d (file 5, block 13)

Bad check value found during dbv:

Data in bad block:

type: 6 format: 2 rdba: 0x0140000d

last change scn: 0x0000.000fbf2f seq: 0x2 flg: 0xff

spare1: 0x0 spare2: 0x0 spare3: 0x0

consistency value in tail: 0xbf2f0602

check value in block header: 0xd7f

computed block checksum: 0xfb00

DBVERIFY - 验证完成

检查的页总数: 2560

处理的页总数 (数据): 1

失败的页总数 (数据): 0

处理的页总数 (索引): 0

失败的页总数 (索引): 0

处理的页总数 (其它): 11

处理的总页数 (段) : 0

失败的总页数 (段) : 0

空的页总数: 2547

标记为损坏的总页数: 1

流入的页总数: 0

最高块 SCN : 1031985 (0.1031985)

修复坏块的方式大家都知道有很多,我就不多说了,我这里需要说的是,windows下我用dd将该block取出来。

然后使用bbed进行修改(当然,既然我们能用UE制造坏块,那么也就可以完全用UE来修复坏块,只是非常难)

-- 使用dd 复制file 5 block 13

C:\ dd if=G:\ORACLE\PRODUCT\10.2.0\ORADATA\ALEX\ROGER01.DBF of=5.13.dd skip=13 bs=8192 count=1

rawwrite dd for windows version 0.6beta3.

Written by John Newbigin jn@it.swin.edu.au

This program is covered by terms of the GPL Version 2.

skip to 106496

1+0 records in

1+0 records out

C:\Documents and Settings\Administrator dir *dd

驱动器 C 中的卷是 system

卷的序列号是 48A6-367D

C:\Documents and Settings\Administrator 的目录

2011-07-09 15:32 8,192 5.13.dd

1 个文件 8,192 字节

0 个目录 9,338,363,904 可用字节

由于我这里是10204的,所以就不用9iR2的bbed for win版本了,我将dd出来的file 5.13.dd文件传到linux中,进行修复

[oracle@roger ~]$ ls -ltr 5.13*

-rw-r--r-- 1 oracle dba 8192 Jul 9 2011 5.13.dd

[oracle@roger ~]$ bbed parfile=par.bbd

Password:

BBED: Release 2.0.0.0.0 - Limited Production on Sat Jul 9 15:34:38 2011

Copyright (c) 1982, 2007, Oracle. All rights reserved.

************* !!! For Oracle Internal Use only !!! ***************

BBED info

File# Name Size(blks)

----- ---- ----------

1 /oracle/product/oradata/roger/system01.dbf 61440

2 /oracle/product/oradata/roger/undotbs01.dbf 3200

3 /oracle/product/oradata/roger/sysaux01.dbf 30720

4 /oracle/product/oradata/roger/users01.dbf 640

5 /oracle/product/oradata/roger/roger01.dbf 0

6 /home/oracle/5.13.dd 1

BBED set file 6

FILE# 6

BBED p kcbh

struct kcbh, 20 bytes @0

ub1 type_kcbh @0 0x06

ub1 frmt_kcbh @1 0xa2

ub1 spare1_kcbh @2 0x00

ub1 spare2_kcbh @3 0x00

ub4 rdba_kcbh @4 0x0140000d

ub4 bas_kcbh @8 0x000fbf2f

ub2 wrp_kcbh @12 0x0000

ub1 seq_kcbh @14 0x02

ub1 flg_kcbh @15 0xff (KCBHFNEW, KCBHFDLC, KCBHFCKV)

ub2 chkval_kcbh @16 0x0d7f

ub2 spare3_kcbh @18 0x0000

BBED modify /x 4 offset 15

Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y

File: /home/oracle/5.13.dd (6)

Block: 1 Offsets: 15 to 511 Dba:0x01800001

------------------------------------------------------------------------

047f0d00 00010000 008ccb00 002dbf0f 00000000 00030032 00090040 01ffff00

00000000 00000000 00000000 00008000 002dbf0f 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 000001c7 00ffffa0 01dc0c3c 0b3c0b00 00c7005d

1f3e1f1d 1ffb1eda 1eb71e93 1e7b1e5f 1e4c1e3a 1e221e0a 1ef01dd4 1dbd1da4

1d891d6c 1d591d44 1d331d21 1d0b1de6 1cd51cc3 1cad1c88 1c771c65 1c4f1c2a

1c191c07 1cf11bcc 1bba1ba7 1b911b6c 1b5a1b47 1b311b0c 1bfb1ae8 1ad51ac0

1aab1a97 1a7e1a6a 1a561a3c 1a271a16 1a001aed 19d519c3 19b1199f 198a1978

195f194c 19341922 191019fd 18ea18d6 18c018b0 188b1866 1852183c 18231809

18f317d9 17bf17a5 1792177b 17681751 173d1725 171217fb 16e416d0 16b816a6

1690167a 16641654 1640162b 161216fa 15de15c2 15ab1590 15751561 15491531

1520150b 15f514db 14cb14ba 14a81495 1481146d 14581444 142f141b 140614f2

13d813bd 13ac1396 136f1359 1344132a 131213f5 12e512ca 12b61291 127b1267

12511237 121f1205 12ed11d3 11bd11a8 1192117a 1164114d 11361120 110c11f7

10dc10c3 10a4108f 10781061 10481034 101b1000 10e60fc1 0faa0f90 0f760f5a

0f3a0f1a 0f000fe3 0ec60eae 0e940e7b 0e

32 bytes per line

BBED sum apply

Check value for File 6, Block 1:

current = 0x46c3, required = 0x46c3

C:\ dd if=5.13.dd of=G:\ORACLE\PRODUCT\10.2.0\ORADATA\ALEX\ROGER01.DBF seek=13 bs=8192 count=1 conv=notrunc

rawwrite dd for windows version 0.6beta3.

Written by John Newbigin jn@it.swin.edu.au

This program is covered by terms of the GPL Version 2.

notrunc

1+0 records in

1+0 records out

如上是通过bbed来修改的,当然,我们还可以用dbms_repair包来操作,它实质是对坏块进行标记,

然后oracle在做扫描block的时候,会跳过该坏块,类似event 10231.

SQL BEGIN

2 DBMS_REPAIR.ADMIN_TABLES (

3 TABLE_NAME = 'REPAIR_TABLE',

4 TABLE_TYPE = DBMS_REPAIR.repair_table,

5 ACTION = DBMS_REPAIR.create_action,

6 TABLESPACE = 'ROGER');

7 END;

8 /

PL/SQL 过程已成功完成。

SQL SET serveroutput ON

SQL DECLARE num_corrupt INT;

2 BEGIN

3 num_corrupt := 0;

4 DBMS_REPAIR.CHECK_OBJECT (

5 SCHEMA_NAME = 'ROGER',

6 OBJECT_NAME = 'TEST1',

7 REPAIR_TABLE_NAME = 'REPAIR_TABLE',

8 corrupt_count = num_corrupt);

9 DBMS_OUTPUT.PUT_LINE('number corrupt: ' || TO_CHAR (num_corrupt));

10 END;

11 /

NUMBER corrupt: 1

PL/SQL 过程已成功完成。

SQL SELECT object_id,RELATIVE_FILE_ID,block_id,CORRUPT_TYPE,object_name

2 FROM repair_table;

OBJECT_ID RELATIVE_FILE_ID BLOCK_ID CORRUPT_TYPE OBJECT_NAME

---------- ---------------- ---------- ------------ ---------------

52108 5 13 6148 TEST1

SQL DECLARE

2 fix_count int;

3 BEGIN

4 fix_count := 0;

5 DBMS_REPAIR.fix_corrupt_blocks (

6 schema_name = 'ROGER',

7 object_name = 'TEST1',

8 object_type = DBMS_REPAIR.table_object,

9 repair_table_name = 'REPAIR_TABLE',

10 fix_count = fix_count);

11 DBMS_OUTPUT.put_line('fix count: ' || TO_CHAR(fix_count));

12 END;

13 /

fix COUNT: 0

PL/SQL 过程已成功完成。

SQL BEGIN

2 DBMS_REPAIR.skip_corrupt_blocks (

3 schema_name = 'ROGER',

4 object_name = 'TEST1',

5 object_type = DBMS_REPAIR.table_object,

6 flags = DBMS_REPAIR.skip_flag);

7 END;

8 /

PL/SQL 过程已成功完成。

SQL conn roger/roger

已连接。

SQL SELECT COUNT(*) FROM test1;

COUNT(*)

----------

300

BBED p kdbt

struct kdbt[0], 4 bytes @138

b2 kdbtoffs @138 0

b2 kdbtnrow @140 199

可以发现,完全跳过了坏块file 5 block 13,现在正常数据是300条(其中坏块13中包含数据199条).

补充一点的是,我们还可以使用基于rowid扫描,将test1表中的其他数据给提取出来。

如下是利用基于rowid扫描的方式保存除坏块以外的正常数据:

SQL SELECT dbms_rowid.rowid_create(1,52108,5,13,0) FROM dual;

DBMS_ROWID.ROWID_C

------------------

AAAMuMAAFAAAAANAAA

SQL SELECT dbms_rowid.rowid_create(1,52108,5,14,0) FROM dual;

DBMS_ROWID.ROWID_C

------------------

AAAMuMAAFAAAAAOAAA

SQL CREATE TABLE test1_bak AS

2 SELECT /* rowid(test1) */ * FROM test1

3 WHERE rowid CHARTOROWID('AAAMuMAAFAAAAANAAA')

4 OR rowid = CHARTOROWID('AAAMuMAAFAAAAAOAAA');

表已创建。

SQL SELECT COUNT(*) FROM test1_bak;

COUNT(*)

----------

300

【windowsdd包制作】内容来源于网络,若引用不当、侵权,请联系我们修正或者删除!

最后修改时间:
文章相关标签:
优质vps
上一篇 2023年02月18日 05:30
下一篇 2023年02月18日 05:40

评论已关闭