如何通过 VM Import 在 AWS EC2 上安装 Windows 10
Source: Dev.to
前置条件
AWS VM Import 支持以下 Windows 10 版本:Professional、Enterprise 和 Education(64 位,英文)。Home 版不受支持。
您可以从 Microsoft 网站 下载 Enterprise 试用版。
创建虚拟机
- 在 VirtualBox 中创建一个新的 VM,使用 VHD、VMDK 或 OVA 磁盘格式(系统盘约 20 GB)。
- 安装 Windows 10——确保设置管理员密码(否则后续无法通过远程桌面连接)。
- 安装 TeamViewer,配置 Easy Access,并启用局域网连接和 Windows 登录。
- 启用远程桌面(开始 → 允许远程访问)。
安装 EC2 Config Service。
- 重启,等待 Windows 更新完成后关机。
安装 AWS CLI
sudo apt install awscli
aws configure
设置访问密钥、秘密密钥和默认区域。请注意 P2 实例仅在美国地区可用。
上传镜像
创建一个 S3 存储桶(名称必须全局唯一):
aws s3 mb s3://your-bucket-name --region eu-central-1
上传 VHD 文件:
aws s3 cp codexaws.vhd s3://your-bucket-name --region eu-central-1
设置 IAM 角色
创建 trust-policy.json:
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": { "Service": "vmie.amazonaws.com" },
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": { "sts:Externalid": "vmimport" }
}
}]
}
创建角色:
aws iam create-role --role-name vmimport --assume-role-policy-document file://trust-policy.json
创建 role-policy.json,将 YOUR-BUCKET-NAME 替换为实际的存储桶名称:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket", "s3:GetBucketLocation"],
"Resource": ["arn:aws:s3:::YOUR-BUCKET-NAME"]
},
{
"Effect": "Allow",
"Action": ["s3:GetObject"],
"Resource": ["arn:aws:s3:::YOUR-BUCKET-NAME/*"]
},
{
"Effect": "Allow",
"Action": ["ec2:ModifySnapshotAttribute", "ec2:CopySnapshot", "ec2:RegisterImage", "ec2:Describe*"],
"Resource": "*"
}
]
}
附加策略:
aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document file://role-policy.json
导入镜像
创建 containers.json:
[{
"Description": "Windows 10 Base Install",
"Format": "vhd",
"UserBucket": {
"S3Bucket": "your-bucket-name",
"S3Key": "codexaws.vhd"
}
}]
运行导入:
aws ec2 import-image --description "Windows 10" --disk-containers file://containers.json --region eu-central-1
检查进度:
aws ec2 describe-import-image-tasks --region eu-central-1
启动 EC2 实例
导入完成后,前往 EC2 控制台:
Images → AMI → 右键 → Launch
- 选择 g2 实例类型(可能需要先向 AWS 申请提升配额)。
- 在安全组中打开 RDP 和 TeamViewer 端口。
- 实例启动后,使用 Connect 下载 RDP 文件,并使用之前设置的凭据登录。
安装后设置
- 重新关联您的 TeamViewer 账户。
- 安装 NVIDIA 驱动。
按照文档启用 ENA Enhanced Networking。